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

核心数据迁移启动需要多长时间?

异常类型:02 异常代码:08badf00d 未能及时启动

应用程序在运行 iOS 9.3.5 并连接到 IPv6 的 iPad 和 iPhone 上崩溃

presentViewController 在 iPad 上崩溃,但在 iPhone 上不崩溃

UIPopoverController 在运行 iOS 5.0.1 的 iPad 上崩溃?