2016-07-27 8 views
0

私のアプリケーションでは、アプリがバックグラウンドで停止しているときに地元の通知を読んでいます。私は、ローカル通知をスケジュールするには、以下のコードを使用していswiftを使用したローカル通知の取得

は、

let localNotification = UILocalNotification() 
localNotification.fireDate = NSDate() 
localNotification.repeatInterval = NSCalendarUnit.Day 
localNotification.timeZone = NSTimeZone.localTimeZone() 
localNotification.alertBody = "Hello" 
localNotification.userInfo = userInfo 
UIApplication.sharedApplication().scheduleLocalNotification(localNotification) 

二日後、私はその通知をキャンセルしたいです。だから、データを取り出してそれをチェックして取り消したいのですが。ローカル通知にcontent-available=1を使用する可能性はなく、ユーザーが通知とやり取りすることも望ましくありません。

func application(application: UIApplication, didReceiveLocalNotification notification: UILocalNotification) { 
} 

ローカル通知をバックグラウンドでフェッチする可能性はありますか?

+0

この質問は、ローカルの通知(cancelLocalNotificationを使用して取り消すことができるため)とは特に関係ありませんが、バックグラウンドで実行されています。あなたが見ることができるバックグラウンドで実行することに関する多くの過去の質問がたくさんあります。あなたのアプリが他の正当な理由でバックグラウンドで動かない限り、短い答えは不可能です – Gruntcakes

答えて

0

端末が再起動してもローカル通知は通知トレイに表示されますが、削除されません。ユーザーが通知をタップし、didReceiveLocalNotificationがコールを受信すると、それは削除するか、それ以上のタスクのために制御されます。

プッシュキット通知で行うことができるのは、リモートから呼び出すことだけです。

これが来ると、アプリはバックグラウンドで30秒間呼び出されます。その後、アプリにアクセスして削除やその他の操作を行うことができます。

デバイスが再起動した場合は、そのオブジェクトにアクセスできない場合を除き、デバイスをNSUserDefaultに保持する必要があります。

関連する問題