iOS应用程序崩溃的苹果审查小组,但不是在我的设备上

我的应用程序没有崩溃在我的iDevices,但苹果审查小组说,它崩溃在iPad 6.0.1。 这是resymbolicated日志的相关部分:

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行)?

回答你的问题:

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

这意味着最有可能的问题是与故事板加载相关 – 无论是故事板还是软件包 – 因为这是exception被抛出的地方。 如果不知道UIStoryboard的源代码和436行中的内容会导致exception,那么这可能与从非Apple员工获得的具体内容有关。

为了超越这一点,实际上在本地重现崩溃(所以你可以努力修复它):

  • validation包装/做一个干净/全新的安装(如评论中所build议的)
  • 尝试一个不同的设备(也许有剩下的东西 ,一个干净的不正确删除)
  • 尝试一个较旧的iOS版本(也许他们不小心给你的iOS版本的信息不正确?)
  • 尝试模拟内存不足的情况,而您的应用程序在后台(可能崩溃与您的应用程序closures和在这种情况下在后台重新启动?)

如果你不能重现这个问题,更可能的是你想从审查小组获得更多信息,而不仅仅是一个堆栈跟踪。

  • 你可以得到更准确的再现步骤,他们是如何造成坠机?
  • 这是对现有应用程序的更新吗? 他们可能有一个旧版本的应用程序没有被正确清理?

我的猜测是,在某些时候你改变了故事板文件的名字,但并没有反映(项目)>(目标)>常规>部署信息>主界面下的Xcode的变化。

因此,它仍然在您的设备上工作(因为您的设备上还安装了旧名称的故事板文件,以及新设备),但是当新安装在其他设备上时会崩溃,只有故事板文件与新名称存在。