iOS 10 推送处理遇到的小坑

最近在开发过程中遇到一个很奇葩的问题,每次点击推送进入应用内跳转页面之后,点击返回的时候总是点击两次才能回到首页,由于这个问题不能通过一般的手段定位问题,一度让我有点苦恼,后来才发现了原因:

iOS 10之后苹果官方新添加了两个关于接收推送的方法:

而在iOS 10之前当应用被杀死之后点击推送进入应用,需要在- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions;方法内添加处理推送的方法来响应推送的点击事件。iOS 10之后,无论应用是否被杀死,点击推送进入应用都会调用上图新增的方法。因此在iOS 10之后系统就遇到了前面所说的问题:由于点击推送的时候,系统调用了新增的方法处理推送的点击方法,然后又调用了didFinishLaunching里的方法。。。。

很简单的解决办法:需要在didFinishLaunching里关于推送响应事件的处理加上版本判断,在iOS 10之后不调用此方法。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容