2013-01-10 14 views
12

私のプロジェクトでUILocalNotificationを使用しています。 UILocalNotificationsを使用して問題が発生しました。 1週間通知をスケジュールし、アプリを削除して、再インストールされたアプリからの通知がスケジュールされていない状態で再インストールすると、以前にスケジュールされた時間の通知が届きます。iphoneアプリを削除して再インストールした後にローカル通知を受け取る

現在のインストールからスケジュールされた通知がない場合でも、通知が届きます。これらの通知をスケジュール解除/削除する方法はありますか?

答えて

13

実際には、将来の通知をスケジュールしてからアプリを削除して再インストールすると、以前に設定された通知が届きます。あなたは何を得ているのですか?

ソリューション:あなたはAppDelegateの「didFinishLaunchingWithOptions」の方法で、次にアプリを開くと

、法の下に呼び出します。

-(void)removeAllLocalNotification 
{ 
    [[UIApplication sharedApplication] cancelAllLocalNotifications]; 
} 

これで、以前に設定した通知がすべて削除されます。

しかし、上記のことをする前に、上記の方法を1回だけ呼び出す必要があります。アプリを起動するたびにではありません。

あなたは次のようにそれを行うことができます。

は1つのBOOL変数を作成し、NSUserDefaultに保管してください。今、アプリが開いたら、NSUserDefaultの値をチェックしてください。それがFALSEの場合は、上記のメソッドを呼び出し、その値をTRUEに設定してNSUserDefaultに設定します。

今度は、アプリケーションを再オープンすると、その時点で値がTRUEになります。このため、このメソッドを呼び出す必要はありません。そのため、現在の通知は削除されません。

希望、あなたはすべてを持っています。

ハッピーコーディング。

乾杯!

+0

ありがとうございますが、再インストール後にアプリを起動しないと、まだ通知が届きます。 – Nassif

+0

これはリンゴのデフォルト動作です。それを管理することはできません。 –

関連する問題