当iOS用户通过点击推送消息进入应用时,在AppDelegate的
- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions
方法中,我们可以通过
[launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
获得推送的userinfo.
但是didFinishLaunchingWithOptions会比MainViewController的viewDidLoad先执行,此时肯定不能present一个新的View,应该是让MainViewController启动后再检查是否收到了推送,然后打开对应的视图
想跟大家讨论一下通用做法。谢谢!
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
我来说说我的方法吧!
当用户通过点击通知消息进入应用时
launchOptions中会有推送消息的userInfo信息,此时我们可以通过
获得推送消息内容。如果remoteNotification不为空,则说明用户通过推送消息进入,那么可以声明一个属性
用于标识用户是否通过点击通知消息进入本应用。
此时,
一定会被调用,iOS7可以使用
因为此方法的调用时,MainViewController已经被初始化,所以我们已经可以在MainViewController注册推送消息的监听,用于展示对应的视图,如下:
所以在AppDelegate的didReceiveRemoteNotification中可以通过判断isLaunchedByNotification来通知不同的展示方法。
楼主 求帮助 这个要怎么实现,求帮助,搞了好久了 ,真心希望能帮我个忙,我的Q 1144513732
同求答案,怎样在APPDelegate里面加载Main.StoryBoard里面的xib作为根视图控制器?