Alpha200
Alpha200

Reputation: 478

iOS app crashes for apple review team but not on my device

My App does not crash on my iDevices, but the apple review team says it is crashing on ipad 6.0.1. This is the relevant part of the resymbolicated log:

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

Does this mean that the Storyboard is the problem (line 2)?

Upvotes: 4

Views: 2031

Answers (2)

Drew
Drew

Reputation: 976

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.

Upvotes: 0

Krease
Krease

Reputation: 16215

To answer your question:

Does this mean that the Storyboard is the problem (line 2)?

It means that the most likely problem is related to the storyboard loading - either with the storyboard or the bundle - as that's where the exception is being thrown from. Without knowing the source code of UIStoryboard and what's on line 436 that makes it throw an exception, that's probably about as specific as you'll get from a non-Apple employee.

To get beyond that and actually reproduce the crash locally (so you can work toward fixing it):

  • Validate packaging / do a clean/fresh install (as suggested in the comments)
  • Try on a different device (perhaps there's something leftover that a clean isn't removing properly)
  • Try an older iOS version (maybe they're accidentally giving you incorrect information to the iOS version?)
  • Try simulating low memory environment while your app is in the background (maybe the crash is related to your app closing and restarting in the background in this situation?)

More likely you'll want to get more info from the review team than just a stack trace if you can't reproduce the issue:

  • Can you get more exact reproduction steps on how they are causing the crash?
  • Is this an update to an existing app? Might they have an old version of your app that hasn't been cleaned properly?

Upvotes: 4

Related Questions