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 将被调用以在后台启动您的应用程序。

您可以相应地开始您的问题下载。

注意:确保您已正确设置报亭必备项。

  1. 您的“info.plist”还具有以下键

    UINewsstandApp UIBackgroundModes 报刊亭内容

  2. 您的 didFinishLaunchingWithOptions: 方法中有以下代码

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

这将确保每次 iOS 仅在开发模式下收到 content-available:1 通知时,应用程序都会收到该通知。通常,当应用在 App Store 中时,每个应用(报亭应用)每天只允许一个这样的通知。

于 2013-01-08T13:55:28.840 回答