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