12

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

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

4

1 に答える 1

13

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

ソリューション:

アプリを開くと、AppDelegate の「didFinishLaunchingWithOptions」メソッドで、以下のメソッドを呼び出します。

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

そのため、以前に設定したすべての通知を削除します。

ただし、上記のことを行う前に、上記のメソッドを一度だけ呼び出す必要があることに注意する必要があります。アプリの起動時に毎回ではありません。

次の方法でそれを行うことができます:

BOOL 変数を 1 つ作成し、NSUserDefault に格納します。ここで、アプリが開いたら、NSUserDefault の値を確認します。FALSE の場合は、上記のメソッドを呼び出して値を TRUE に設定し、NSUserDefault に設定します。

ここで、アプリを再度開くと、その値が TRUE として取得されるため、現時点では上記のメソッドを呼び出す必要はありません。そのため、現在設定されている通知は削除されません。

うまくいけば、あなたはすべてのものを手に入れました。

ハッピーコーディング。

乾杯!

于 2013-01-10T12:23:43.277 に答える