在控制台上,我收到此消息:
backboardd [51]:BKSendGSEvent错误发送事件类型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上都能正常运行。
答案 0 :(得分:2)
最可能的原因是您的应用程序初始设置需要很长时间才能完成。尝试修改应用程序:didFinishLaunching 方法以减少执行任务。
新的iOS6有一个内置的计时器,如果启动时间太长,它会关闭应用程序。
答案 1 :(得分:2)
尝试将application:didFinishLaunchingWithOptions:
方法代码划分为不同的函数调用,并使用除main之外的线程在后台进行调用,并确保application:didFinishLaunchingWithOptions:
方法尽快返回
你可以使用
dispatch_async(dispatch_get_main_queue(), ^{
//put your code
}
答案 2 :(得分:1)
您的应用程序需要很长时间才能启动,然后被iOS杀死。
检查- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
是否尽快返回。
didFinishLaunchingWithOptions:
中的某些内容可能会在iOS 6上有所不同,并且需要花费更多时间。一个好主意就是派遣那个任务。