iPad应用程序被拒绝,“未能及时启动”崩溃
Posted
技术标签:
【中文标题】iPad应用程序被拒绝,“未能及时启动”崩溃【英文标题】:IPad app rejected, "failed to launch in time" crash 【发布时间】:2013-01-23 10:49:40 【问题描述】:我的 iPad 应用程序已被应用商店拒绝,因为它在启动应用程序时在 Wi-Fi 和蜂窝网络上都崩溃了。
这个错误是什么意思?
Application Specific Information:
com.selangorbn.FM failed to launch in time
这是崩溃报告:
Version: ??? (???)
Code Type: ARM (Native)
Parent Process: launchd [1]
Date/Time: 2013-01-22 14:49:06.040 -0800
OS Version: ios 6.0.1 (10A523)
Report Version: 104
Exception Type: 00000020
Exception Codes: 0x000000008badf00d
Highlighted Thread: 0
Application Specific Information:
com.selangorbn.FM failed to launch in time
Elapsed total CPU time (seconds): 5.450 (user 5.450, system 0.000), 14% CPU
Elapsed application CPU time (seconds): 0.359, 1% CPU
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x306a7eb4 0x306a7000 + 3764
1 libsystem_kernel.dylib 0x306a8048 0x306a7000 + 4168
2 CoreFoundation 0x31763040 0x316cc000 + 618560
3 CoreFoundation 0x31761d9e 0x316cc000 + 613790
4 CoreFoundation 0x316d4eb8 0x316cc000 + 36536
5 CoreFoundation 0x316d4d44 0x316cc000 + 36164
6 CFNetwork 0x36a3943e 0x369e6000 + 341054
7 Foundation 0x37e069ba 0x37d31000 + 874938
8 SelangorbnFm 0x000fe2c2 0xfb000 + 12994
9 UIKit 0x374bd588 0x3749b000 + 140680
10 UIKit 0x374fdd6c 0x3749b000 + 404844
11 UIKit 0x374f9ae0 0x3749b000 + 387808
12 UIKit 0x3753b1c4 0x3749b000 + 655812
13 SelangorbnFm 0x000fd874 0xfb000 + 10356
14 UIKit 0x374feacc 0x3749b000 + 408268
15 UIKit 0x374fe656 0x3749b000 + 407126
16 UIKit 0x374f683e 0x3749b000 + 374846
17 UIKit 0x3749ec34 0x3749b000 + 15412
18 UIKit 0x3749e6c8 0x3749b000 + 14024
19 UIKit 0x3749e116 0x3749b000 + 12566
20 GraphicsServices 0x34c1a5a0 0x34c14000 + 26016
21 GraphicsServices 0x34c1a1ce 0x34c14000 + 25038
22 CoreFoundation 0x31763170 0x316cc000 + 618864
23 CoreFoundation 0x31763112 0x316cc000 + 618770
24 CoreFoundation 0x31761f94 0x316cc000 + 614292
25 CoreFoundation 0x316d4eb8 0x316cc000 + 36536
26 CoreFoundation 0x316d4d44 0x316cc000 + 36164
27 UIKit 0x374f5478 0x3749b000 + 369784
28 UIKit 0x374f22f4 0x3749b000 + 357108
29 SelangorbnFm 0x000fd35c 0xfb000 + 9052
30 SelangorbnFm 0x000fc7fc 0xfb000 + 6140
Thread 1:
0 libsystem_kernel.dylib 0x306b8d98 0x306a7000 + 73112
1 libsystem_c.dylib 0x383e6cf6 0x383e0000 + 27894
2 libsystem_c.dylib 0x383e6a12 0x383e0000 + 27154
3 libsystem_c.dylib 0x383e68a0 0x383e0000 + 26784
Thread 2 name: Dispatch queue: com.apple.libdispatch-manager
Thread 2:
0 libsystem_kernel.dylib 0x306a8648 0x306a7000 + 5704
1 libdispatch.dylib 0x397c4974 0x397bc000 + 35188
2 libdispatch.dylib 0x397c4654 0x397bc000 + 34388
Thread 3 name: WebThread
Thread 3:
0 libsystem_kernel.dylib 0x306a7eb4 0x306a7000 + 3764
1 libsystem_kernel.dylib 0x306a8048 0x306a7000 + 4168
2 CoreFoundation 0x31763040 0x316cc000 + 618560
3 CoreFoundation 0x31761d9e 0x316cc000 + 613790
4 CoreFoundation 0x316d4eb8 0x316cc000 + 36536
5 CoreFoundation 0x316d4d44 0x316cc000 + 36164
6 WebCore 0x32631a40 0x32627000 + 43584
7 libsystem_c.dylib 0x383f130e 0x383e0000 + 70414
8 libsystem_c.dylib 0x383f11d4 0x383e0000 + 70100
Thread 4:
0 libsystem_kernel.dylib 0x306b86a4 0x306a7000 + 71332
1 libsystem_c.dylib 0x383f63ce 0x383e0000 + 91086
2 Foundation 0x37d85458 0x37d31000 + 345176
3 SelangorbnFm 0x00114ef0 0xfb000 + 106224
4 Foundation 0x37de2678 0x37d31000 + 726648
5 libsystem_c.dylib 0x383f130e 0x383e0000 + 70414
6 libsystem_c.dylib 0x383f11d4 0x383e0000 + 70100
Thread 5 name: com.apple.NSURLConnectionLoader
Thread 5:
0 libsystem_kernel.dylib 0x306a7eb4 0x306a7000 + 3764
1 libsystem_kernel.dylib 0x306a8048 0x306a7000 + 4168
2 CoreFoundation 0x31763040 0x316cc000 + 618560
3 CoreFoundation 0x31761d9e 0x316cc000 + 613790
4 CoreFoundation 0x316d4eb8 0x316cc000 + 36536
5 CoreFoundation 0x316d4d44 0x316cc000 + 36164
6 Foundation 0x37d5ebc8 0x37d31000 + 187336
7 Foundation 0x37de2678 0x37d31000 + 726648
8 libsystem_c.dylib 0x383f130e 0x383e0000 + 70414
9 libsystem_c.dylib 0x383f11d4 0x383e0000 + 70100
Thread 6 name: com.apple.CFSocket.private
Thread 6:
0 libsystem_kernel.dylib 0x306b8594 0x306a7000 + 71060
1 CoreFoundation 0x317671f2 0x316cc000 + 635378
2 libsystem_c.dylib 0x383f130e 0x383e0000 + 70414
3 libsystem_c.dylib 0x383f11d4 0x383e0000 + 70100
Unknown thread crashed with unknown flavor: 5, state_count: 1
Binary Images:
0xfb000 - 0x126fff +SelangorbnFm armv7 <b7f595d0a6813ff49f1cf455a8d0db90> /var/mobile/Applications/509DADFE-E86D-4B3E-BD5F-E2B103E6FE5E/
【问题讨论】:
它说未能及时启动,所以这可能会有所帮助:Application Failed to Launch in Time. 【参考方案1】:最好的应用程序可以快速启动,允许用户进行交互 尽快申请。为优质用户提供 经验,您应该定期评估并努力改进 应用程序的启动时间。如果必须在 启动,考虑在辅助线程上执行该工作并 直观地指示活动。 http://developer.apple.com/library/ios/#qa/qa1592/_index.html
应用程序启动时间受时间限制。
你一定要看AppDelegate.m
最有可能的是,在- (void)applicationDidFinishLaunching:(UIApplication *)application
方法中,您开始了一些非常长的操作。例如:
AppDelegate.m
- (void)applicationDidFinishLaunching:(UIApplication *)application
...
[[SomeProvider sharedOnlineDataProvider] initializeEngine]; // << this may be very long
...
所以,你可以尝试使用
[[SomeProvider sharedOnlineDataProvider] performSelectorInBackground:@selector(initializeEngine) withObject:nil];
显然,initializeEngine
必须是线程安全的
【讨论】:
【参考方案2】:您的应用似乎需要很长时间。当你搜索异常类型时,你会发现:http://developer.apple.com/library/ios/#qa/qa1693/_index.html
您在 AppDelegate didFinishLaunchingWithOptions 中做了很多工作吗?如果是这样,请在后台线程中执行此操作。
【讨论】:
【参考方案3】:我认为您需要将 dSYM 文件链接到崩溃日志并找出导致此崩溃的原因。可以参考this article了解如何使用symbolicatecrash将崩溃日志改回方法调用栈。
【讨论】:
以上是关于iPad应用程序被拒绝,“未能及时启动”崩溃的主要内容,如果未能解决你的问题,请参考以下文章
iPhone 应用程序被拒绝 - 由于 iPad 崩溃,目标设备系列设置为仅 iPhone
应用程序在运行 iOS 9.3.5 并连接到 IPv6 的 iPad 和 iPhone 上崩溃