iOS uilocalNotificationバックグラウンドでアプリが表示されている間は表示されません

StackOverflow https://stackoverflow.com/questions/6313641

質問

修繕 - わかりました、それが何であるかを見つけました、誤りがありました [[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が想定されます(デフォルトなし)。

バックグラウンドタスクでコードをラップしてみましたか?

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top