taf*_*rel 9 apple-push-notifications ios
我的应用程序接收推送通知,并显示相应的信息消息.但是,当我点击消息时,应用程序变为活动但应用程序didFinishLaunchingWithOptions未被调用,这是正确的,我认为,因为应用程序未被暂停,它只是暂停活动.问题是我如何确保用户在应用程序变为前台时单击消息?
我认为你要找的是这个app delegate方法:
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
Run Code Online (Sandbox Code Playgroud)
如果您的应用程序是后台的,则会调用它,并且通知有效负载将在userInfo字典中传递.这与从冷启动启动应用程序时的情况形成对比,此时此方法未被调用,而是在launchOptions字典中检查有效负载.
但是,自iOS7以来这样做的首选方法是使用它:
- (void)application:(UIApplication *)application
didReceiveRemoteNotification:(NSDictionary *)userInfo
fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler;
Run Code Online (Sandbox Code Playgroud)
无论应用程序是从冷启动启动还是从后台运行,都会在用户点击通知时调用此方法.因此,即使您没有使用completionHandler,它也可以提供更一致的方式来访问通知负载.如果存在此方法,则不会调用较旧的方法.
| 归档时间: |
|
| 查看次数: |
883 次 |
| 最近记录: |