App 不能启动错误:“failed to launch in time”
App不能启动。设备日志输出:
MyApp failed to launch in time
Elapsed total CPU time (seconds): 13.700 (user 8.580, system 5.120), 67% CPU Elapsed application CPU time(seconds): 6.180, 30% CPU
同时:
1、该App在模拟器中不会出现此问题。
2、在Debug模式(连接设备)也不会出现此问题,App能正常启动。
3、App 商店不会拒绝App的提交。当然,很可能苹果测试人员使用的设备要比你的快。
4、如果用户使用一些老设备,如3GS,则会出现此问题。
……
凡此种种,都表明,你在didFinishLaunchingWithOptions方法中加入了太多的代码。
这是因为,如果App主线程的启动时间过长,iOS会强制终止App运行。
解决的办法很简单,将didFinishLaunchingWithOptions方法中比较“费时”的代码(比如openURL其实是一个很费时的操作)放到后台线程中进行:
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT,0), { () -> Void in
if true== UIApplication.sharedApplication().canOpenURL(NSURL(string: "xxx://")!){
UIApplication.sharedApplication().openURL(NSURL(string:"xxx://")!)
}
})
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。