iphone - 从homescreen推出的iphone应用程序无法获得远程推送负载 但是从通知中心开始?

  显示原文与译文双语对照的内容
126 2

从homescreen启动应用程序无法获得远程推送负载?但是从通知中心开始。

首先,应用程序收费为 。收到远程推送通知后,用户不会立即启动带有通知的应用程序。然后用户点击通知中心通知启动应用程序,我可以从 launchOptions 获得推送负载:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
 NSDictionary* userInfo = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
 if(userInfo) {
//do some works with push payload.
 }
}

但是,如果用户通过屏幕上的应用程序 icon 启动应用程序,我不能从 launchOptions 获得推送负载。application:didFinishLaunchingWithOptions:被称为。

再次:

  • 应用程序未运行。
  • 用户在收到推送通知时不启动应用程序。
  • 稍后,从通知中心启动应用程序并从launchOptions获得推送负载。
  • 从homescreen启动应用程序无法从launchOptions获得推送负载。

这是SDK中的Bug?我如何通过从homescreen启动应用程序获得推送负载?

谢谢!

时间:原作者:0个回答

60 0

) 噢, 对不起!

只有从通知中心启动时才获取有效负载,因为这意味着用户对通知有兴趣。

例如,如果我得到了Tweetbot的答复并且想看到它,我就点击通知,但是如果我只想检查我的tweet 。

如果负载有用户必须接收的信息,应用程序应该与你的服务器联系并检索它。

原作者:
140 5

如果用户通过点击 icon 启动应用程序,则远程通知的有效负载将丢失。

这并不酷,但是它在现在是工作的方式。

原作者:
...