0

リモート通知を受信する機能を追加しましたが、動作が非常に奇妙です。アプリケーションがフォアグラウンドにある場合、メソッド

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {

が呼び出されています。アプリがバックグラウンドにある場合でも、何も表示されません。着信通知メッセージのバナーが表示されず、通知スワイプダウン リストに何も表示されません。

もう 1 つ奇妙なことに、デバイスの [設定] --> [通知アプリ] リストにアプリケーションが表示されません。受け取っても大丈夫ですか?バックグラウンドの時だけでも?

誰かが同様の問題に直面しましたか?

4

2 に答える 2

1

アプリが開いているとき、didReceiveRemoteNotification メソッドがアプリ デリゲートで呼び出されますが、アラートは表示されません。アラートは、アプリがバックグラウンド/非アクティブの場合にのみ表示されます。ただし、アプリで UIAlertView を簡単に作成して、アプリがアクティブでプッシュ通知を受信したときに表示することはできます。

于 2015-01-05T23:22:40.917 に答える
0

最終的に自分で解決しました—私は を呼び出さなかったregisterUserNotificationSettingsので、通知の種類は許可されませんでした。今私はこれを行います:

[application registerForRemoteNotifications];
UIUserNotificationType types = UIUserNotificationTypeBadge | UIUserNotificationTypeSound | UIUserNotificationTypeAlert;
UIUserNotificationSettings *mySettings = [UIUserNotificationSettings settingsForTypes:types categories:nil];
[application registerUserNotificationSettings:mySettings];

完璧に動作します!

于 2015-01-09T17:55:22.767 に答える