4

我的应用程序在我的 iDevices 上没有崩溃,但苹果审查团队说它在 ipad 6.0.1 上崩溃了。这是重新符号化日志的相关部分:

Last Exception Backtrace:
0   CoreFoundation                  0x327fb29e __exceptionPreprocess + 158
1   libobjc.A.dylib                 0x394dd97a objc_exception_throw + 26
2   UIKit                           0x38897d54 +[UIStoryboard storyboardWithName:bundle:] + 436
3   UIKit                           0x386da406 -[UIApplication _loadMainStoryboardFileNamed:bundle:] + 38
4   UIKit                           0x38563794 -[UIApplication _runWithURL:payload:launchOrientation:statusBarStyle:statusBarHidden:] + 524
5   UIKit                           0x3850bc34 -[UIApplication handleEvent:withNewEvent:] + 1000
6   UIKit                           0x3850b6c8 -[UIApplication sendEvent:] + 68
7   UIKit                           0x3850b116 _UIApplicationHandleEvent + 6150
8   GraphicsServices                0x35c8759e _PurpleEventCallback + 586
9   CoreFoundation                  0x327d067e __CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION__ + 10
10  CoreFoundation                  0x327cfee4 __CFRunLoopDoSources0 + 208
11  CoreFoundation                  0x327cecb2 __CFRunLoopRun + 642
12  CoreFoundation                  0x32741eb8 0x32739000 + 36536
13  CoreFoundation                  0x32741d44 CFRunLoopRunInMode + 100
14  UIKit                           0x38562478 -[UIApplication _run] + 664
15  UIKit                           0x3855f2f4 UIApplicationMain + 1116
16  MyApp                           0x0007362e main (main.m:16)
17  MyApp                           0x000735e4 start + 36

这是否意味着故事板是问题(第 2 行)?

4

2 回答 2

4

要回答您的问题:

这是否意味着故事板是问题(第 2 行)?

这意味着最可能的问题与情节提要加载有关 - 无论是情节提要还是捆绑包 - 因为这是引发异常的地方。在不知道第 436 行的源代码UIStoryboard及其引发异常的内容的情况下,这可能与您从非 Apple 员工那里得到的一样具体。

要超越这一点并在本地实际重现崩溃(以便您可以努力修复它):

  • 验证包装/进行全新/全新安装(如评论中所建议)
  • 在不同的设备上尝试(可能有一些残留物无法正确清除)
  • 尝试较旧的 iOS 版本(也许他们不小心给了您错误的 iOS 版本信息?)
  • 尝试在您的应用程序处于后台时模拟低内存环境(可能崩溃与您的应用程序在这种情况下在后台关闭和重新启动有关?)

如果您无法重现问题,您更有可能希望从审核团队获得更多信息,而不仅仅是堆栈跟踪:

  • 您能否获得有关它们如何导致崩溃的更准确的再现步骤?
  • 这是对现有应用程序的更新吗?他们可能有没有正确清理的旧版本的应用程序?
于 2012-12-10T23:39:39.103 回答
0

My guess is that at some point you changed the name of the storyboard file but did not reflect that change in Xcode under (project) > (target) > General > Deployment Info > Main Interface.

Consequently, it's still working on your device (because you still have the storyboard file with the old name installed on that device, as well as the new one), but it crashes when newly-installed on other devices, where only the storyboard file with the new name exists.

于 2015-06-25T21:46:05.910 回答