iOS uilocalNotificationバックグラウンドでアプリが表示されている間は表示されません
-
26-10-2019 - |
質問
修繕 - わかりました、それが何であるかを見つけました、誤りがありました [[UIApplication sharedApplication] cancelAllLocalNotifications];
私がそれを期待していなかったときに解雇されます。
さて、あなたの問題があります。
皆さんの助けをありがとう、それがただ愚かなコーダー症候群であることが判明してすみません。
私はそうするように地元の通知を作成しました:
- (void)scheduleNotification {
[[UIApplication sharedApplication] cancelAllLocalNotifications];
Class cls = NSClassFromString(@"UILocalNotification");
if (cls != nil) {
UILocalNotification *notif = [[cls alloc] init];
NSLog(@"%@", [NSDate date]);
notif.fireDate = [NSDate dateWithTimeIntervalSinceNow:10];
notif.alertBody = NSLocalizedString(@"Hello.", nil);
[[UIApplication sharedApplication] scheduleLocalNotification:notif];
NSLog(@"Notification scheduled at %@", notif.fireDate);
[notif release];
}
}
予想どおり、私のデバッグログは、将来10秒間正しい発砲を出力します。アプリを離れないと成功します application:didReceiveLocalNotification:
折り返し電話。
ここのしゃっくりは、この通知をスケジュールしてホームボタンを押してバックグラウンドに置くと、ボタンを押している場合です。これを行うと、通知が発生することはなく、OSからアラートビューを取得することはありません。
ここで明らかな何かを逃しましたか?私はここを上下に見下ろし、Appleのドキュメントを見て、明らかな何かを逃したと感じています。
どんな助けも大歓迎です。ありがとう。
解決 3
わかりました、それが何であるかを見つけました、誤った[[uiapplication sharedapplication] cancelalllocalnotifications]がありました。背景を入力するときに送信されます。
他のヒント
Appleのドキュメントの例を参照してください。http://developer.apple.com/library/ios/#documentation/networkinginternet/conceptual/remotenotificationspg/iphoneosclientimp/iphoneosclientimp.html#//apple_ref/doc/uid/tp40008194-ch103-sw1
nstimezone defaulttimezone]にタイムゾーンを設定しないことが問題を引き起こしているのでしょうか? TimeZoneが設定されていない場合はGMTが想定されます(デフォルトなし)。
バックグラウンドタスクでコードをラップしてみましたか?