2012-10-19 72 views
0

在控制檯中,我有這樣的信息:無法在iOS 6啓動調試IPA,它完美地運行在iOS 5

backboardd [51]:BKSendGSEvent ERROR發送事件類型23: (IPC /發送)超時(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

回答

2

最可能的原因是您的應用程序初始設置需要很長時間才能完成。嘗試修改您的應用程序:didFinishLaunching方法來執行更少的任務。

新的iOS6有一個內置的定時器,如果啓動時間太長,它會關閉應用程序。

1

您的應用程序正在長開始,然後通過iOS的殺害。

檢查- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions是否會立即返回。

可能在didFinishLaunchingWithOptions:中有一些東西在iOS 6上有所不同,並且需要更多時間。一個好主意是派遣那個任務。

2

只是試圖將application:didFinishLaunchingWithOptions:方法代碼劃分到不同的函數調用和使用線程其他則主要使背景這些電話,並確保application:didFinishLaunchingWithOptions:方法儘快

返回您可以使用

dispatch_async(dispatch_get_main_queue(), ^{ 
//put your code 
} 
+0

謝謝,把這個放入didFinishLaunchingWithOptions和applicationDidFinishLaunching解決了崩潰問題。但是,它仍然無法啓動,並且收到超時錯誤。 (CoreAnimation和BKSendGSEvent。) – iOSdev

+0

當我從XCode運行它時,它會很好。但是,當我使用歸檔工具製作IP​​A時,或者只需將.app文件拖放到iTunes時,它就會凍結。 (至少不會崩潰了。) – iOSdev

+0

然後你可以嘗試使新線程伊娃和使用該線程,而不是dispatch_get_main_queue() –

相關問題