你要判断用户是不是点击通知来启动app的:UILocalNotification *notification = [launchOptions objectForKey:UIApplicationLaunchOptionsRemoteNotificationKey];
if (notification) {
    NSLog(@"app收到了远程通知%@",notification);
    [self application:application didReceiveRemoteNotification:(NSDictionary*)notification];
}else{
    NSLog(@"app不是通过远程通知来启动的");
}如果不是通过通知来启动的,你看你的remoteNotification取不取得到。程序崩溃的时候控制台也有对应的输出,问题其实是很好排查的。