Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

iOS app crashing in release but not in development and Swift symbols are not resolved

Tags:

xcode

ios

swift

My app is working perfectly fine in development but switching to production / AdHoc release it crashes on the transition to the third UIViewController of my application flow.

Between the build there shouldn't be any difference. I have retrieved the log from the Devices window:

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x00000001000d49ac
Triggered by Thread:  0

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   MYAPP                           0x00000001000d49ac 0x100010000 + 805292
1   UIKit                           0x00000001868a8954 -[UIViewController loadViewIfRequired] + 688
2   UIKit                           0x00000001868a8664 -[UIViewController view] + 28
3   UIKit                           0x0000000186f9c1cc -[_UIFullscreenPresentationController _setPresentedViewController:] + 72
4   UIKit                           0x0000000186ba378c -[UIPresentationController initWithPresentedViewController:presentingViewController:] + 116
5   UIKit                           0x0000000186bbeb4c -[UIViewController _presentViewController:withAnimationController:completion:] + 1968
6   UIKit                           0x0000000186bc0f64 __62-[UIViewController presentViewController:animated:completion:]_block_invoke + 116
7   UIKit                           0x0000000186995c48 -[UIViewController presentViewController:animated:completion:] + 212
8   MYAPP                           0x0000000100090dcc 0x100010000 + 527820
9   MYAPP                           0x0000000100090bd0 0x100010000 + 527312
10  PromiseKit                      0x000000010032a9f4 0x1002e8000 + 272884
11  PromiseKit                      0x00000001002ee820 0x1002e8000 + 26656
12  libdispatch.dylib               0x00000001936c1990 _dispatch_call_block_and_release + 20
13  libdispatch.dylib               0x00000001936c1950 _dispatch_client_callout + 12
14  libdispatch.dylib               0x00000001936c6208 _dispatch_main_queue_callback_4CF + 1604
15  CoreFoundation                  0x00000001820522e8 __CFRUNLOOP_IS_SERVICING_THE_MAIN_DISPATCH_QUEUE__ + 8
16  CoreFoundation                  0x0000000182050390 __CFRunLoopRun + 1488
17  CoreFoundation                  0x0000000181f7d1f0 CFRunLoopRunSpecific + 392
18  GraphicsServices                0x000000018b39f6f8 GSEventRunModal + 164
19  UIKit                           0x000000018690e108 UIApplicationMain + 1484
20  MYAPP                           0x00000001000be820 0x100010000 + 714784
21  libdyld.dylib                   0x00000001936eea04 start + 0

What is bugging me:

  1. There is a clear inconsistency between the environments I am working on.
  2. The calls from MYAPP doesn't seem to be linked to any component / method call. I'm working with Swift maybe it does cause problem to resolve symbols. Which could make sense since PromiseKit calls are also unresolved.
  3. I have no idea about how to debug this, not even about how to put log everywhere (because I wouldn't know how to get them).

Any help is welcome!

like image 297
AsTeR Avatar asked Dec 14 '22 15:12

AsTeR


1 Answers

In Build settings, try changing Swift compiler -> Optimization Level -> Release to None. There's still a bug where sometimes the compiler messes up closures when optimizations are on. Maybe that's what's happening to you.

like image 95
Eric Aya Avatar answered May 07 '23 16:05

Eric Aya