0

在控制台上,我收到以下消息:

backboardd[51] : BKSendGSEvent ERROR 发送事件类型 23: (ipc/send) 超时 (0x10000004)

然后它崩溃了。崩溃报告是:

Hardware Model:      iPad2,1
Process:         abc [3243]
Path:            /var/mobile/Applications/...
Identifier:      abc
Version:         ??? (???)
Code Type:       ARM (Native)
Parent Process:  launchd [1]

Date/Time:       2012-10-...
OS Version:      iOS 6.0 (10A403)
Report Version:  104

Exception Type:  00000020
Exception Codes: 0x000000008badf00d
Highlighted Thread:  0

Application Specific Information:
com.abc failed to launch in time

Elapsed total CPU time (seconds): 20.910 (user 20.910, system 0.000), 52% CPU 
Elapsed application CPU time (seconds): 19.898, 50% CPU

发布版本在 iOS 5 和 6 上都可以正常工作。

4

3 回答 3

2

最可能的原因是您的应用程序初始设置需要很长时间才能完成。尝试修改您的应用程序:didFinishLaunching方法以减少任务。

新的 iOS6 有一个内置计时器,如果启动时间过长,它会关闭应用程序。

于 2012-10-19T08:58:53.003 回答
2

只需尝试将您的application:didFinishLaunchingWithOptions:方法代码划分为不同的函数调用,并使用除 main 以外的线程在后台进行这些调用,并确保该application:didFinishLaunchingWithOptions:方法尽快返回

您可以使用

dispatch_async(dispatch_get_main_queue(), ^{
//put your code
 }
于 2012-10-19T09:26:45.680 回答
1

您的应用程序需要很长时间才能启动,然后被 iOS 杀死。

检查是否- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions尽快返回。

可能有一些东西在didFinishLaunchingWithOptions:iOS 6 上的工作方式不同,并且需要更多时间。一个好主意是调度该任务。

于 2012-10-19T08:58:34.353 回答