1

アプリケーションで新しいデータが利用可能であることをユーザーに通知したいときにリモート通知を使用する私のアプリは、appDelegate の didReceiveRemoteNotification メソッドで updateData メソッド (サーバーからデータをプルする) を記述しました。アプリケーションがアクティブな場合は正常に動作しますが、非アクティブ モードでは動作しません。どこかで間違っていますか? そのための解決策は何ですか?前もって感謝します。

4

2 に答える 2

2

アプリがアクティブな状態でなくても、プッシュ通知を処理する方法がわかりません(そして、それはまさにそうあるべきだと思います)

AppDelegate の didFinishLaunch でも PNS を確認する必要があります

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 
    //...
    //If Push Notification
    NSDictionary *pnsDict = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
    if(pnsDict != nil){
        DDLogInfo(@"PNS");
        [self handlePushNotification:pnsDict]; 
    }
    //..
}

このようにして、すべてのリモート通知を確実にキャッチできます。

アプリはnot depend on pns. PNS の配信に失敗するか、ユーザーが PNS をオフにすることができます。アプリケーションは常に、pns を有効にした状態でも、pns を無効にした状態でも同じように動作する必要があります。

詳細については、Apple PNS ガイドを参照してください。

于 2013-03-14T07:46:48.057 に答える