由于APP被杀死的状态下无法进行debug,所以只有一个一个方法去试,其中蛋疼程度无以言表。
主要导致APP忽然闪退的原因,主要是RN提供的RCTPushNotificationManager这个管理推送的的类导致的,由于在杀死状态下启动APP貌似会先执行
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler和- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo
这两个方法,然后才是实例化RCTPushNotificationManager
这样就导致了RN的RCTPushNotificationManager的许多内置方法参数啊什么的没有实例化,因此在这个时候你调用这个类它就报错,所以在使用这个时在上面两个方法里面,最好判断程序当前状态不是未激活状态判断方法如下图:
当if (application.applicationState == UIApplicationStateActive || application.applicationState == UIApplicationStateBackground)时表示当前程序不是杀死状态