2

デバイスにプッシュ通知"aps":{"content-available":1}を送信しましたが、アプリケーションがバックグラウンドで起動しません。

しかし、通知を送信すると、このメソッドが呼び出されます

-(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
    NSLog(@"%@", userInfo);
}

ログ:

{
    aps =     {
        "content-available" = 1;
    };
}

これをデバッグする方法はありますか?

4

1 に答える 1

0

プッシュ通知が届くと、

アプリケーションがバックグラウンドにある場合、 -(void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo が呼び出されます。

アプリケーションが終了した場合、 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions が呼び出され、バックグラウンドでアプリケーションが起動されます。

それに応じて問題のダウンロードを開始できます。

注: Newsstand の必要条件が正しく設定されていることを確認してください。

  1. 「info.plist」には次のキーもあります

    UINewsstandApp UIBackgroundModes ニューススタンド コンテンツ

  2. didFinishLaunchingWithOptions: メソッドに次のコードがあります。

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"NKDontThrottleNewsstandContentNotifications"];

これにより、iOS が開発モードでのみ content-available:1 通知を受け取るたびに、アプリが content-available:1 通知を受け取るようになります。アプリが App Store にある場合、通常、アプリ (ニューススタンド アプリ) ごとに 1 日に 1 つの通知のみが許可されます。

于 2013-01-08T13:55:28.840 に答える