iOS应用程序在发布模式下崩溃,在调试模式下工作

iOS应用程序在发布模式下崩溃,在调试模式下工作,ios,swift3,xcode8,Ios,Swift3,Xcode8,最近,如果我为AppStore版本创建.ipa文件,我的应用程序开始崩溃。如果我在emulator中运行相同的代码,或者从xcode在iPhone上运行相同的代码,它可以正常工作,但一旦我创建了发布包,它就会在打开特定视图控制器时崩溃 我浏览了Stackoverflow上一些人们有类似问题的帖子,并尝试了以下内容: 设置SWIFT\u优化\u LEVEL=“-Onone”用于释放模式 设置GCC\u优化\u级别=0用于释放模式 注释掉最近添加的一些UI组件 以下是我从该设备获取的日志: In

最近,如果我为AppStore版本创建.ipa文件,我的应用程序开始崩溃。如果我在emulator中运行相同的代码,或者从xcode在iPhone上运行相同的代码,它可以正常工作,但一旦我创建了发布包,它就会在打开特定视图控制器时崩溃

我浏览了Stackoverflow上一些人们有类似问题的帖子,并尝试了以下内容:

  • 设置
    SWIFT\u优化\u LEVEL=“-Onone”用于释放模式
  • 设置
    GCC\u优化\u级别=0用于释放模式
  • 注释掉最近添加的一些UI组件
以下是我从该设备获取的日志:

Incident Identifier: 4F30BFF1-71DC-4542-A330-F3786B3302A8
CrashReporter Key:   f6fcec71c8263640bd75a0d18937c323d8a95b43
Hardware Model:      iPhone8,1
Process:             Dummy [633]
Path:                /private/var/containers/Bundle/Application/370692A3-C880-4008-8C70-641801FB894A/Dummy.app/Dummy
Identifier:          com.example.Dummy
Version:             1.0.71 (1.0.71)
Code Type:           ARM-64 (Native)
Role:                Foreground
Parent Process:      launchd [1]
Coalition:           com.example.Dummy [741]


Date/Time:           2017-10-09 18:08:28.2604 -0700
Launch Time:         2017-10-09 18:07:45.3034 -0700
OS Version:          iPhone OS 10.3.2 (14F89)
Report Version:      104

Exception Type:  EXC_BREAKPOINT (SIGTRAP)
Exception Codes: 0x0000000000000001, 0x0000000100518448
Termination Signal: Trace/BPT trap: 5
Termination Reason: Namespace SIGNAL, Code 0x5
Terminating Process: exc handler [0]
Triggered by Thread:  0

Filtered syslog:
None found

Thread 0 name:  Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0   libswiftCore.dylib              0x0000000100518448 0x1003c0000 + 1410120
1   libswiftCore.dylib              0x0000000100518448 0x1003c0000 + 1410120
2   Dummy                           0x00000001000e2e14 0x10003c000 + 683540
3   Dummy                           0x00000001000e351c 0x10003c000 + 685340
4   UIKit                           0x000000018b5d3ec0 -[UIViewController loadViewIfRequired] + 1036
5   UIKit                           0x000000018b68bff0 -[UINavigationController _layoutViewController:] + 72
6   UIKit                           0x000000018b68bec8 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 416
7   UIKit                           0x000000018b68b1f8 -[UINavigationController _startTransition:fromViewController:toViewController:] + 144
8   UIKit                           0x000000018b68ac2c -[UINavigationController _startDeferredTransitionIfNeeded:] + 856
9   UIKit                           0x000000018b68a7e0 -[UINavigationController __viewWillLayoutSubviews] + 64
10  UIKit                           0x000000018b68a744 -[UILayoutContainerView layoutSubviews] + 188
11  UIKit                           0x000000018b5d107c -[UIView(CALayerDelegate) layoutSublayersOfLayer:] + 1200
12  QuartzCore                      0x00000001887c1274 -[CALayer layoutSublayers] + 148
13  QuartzCore                      0x00000001887b5de8 CA::Layer::layout_if_needed(CA::Transaction*) + 292
14  QuartzCore                      0x00000001887b5ca8 CA::Layer::layout_and_display_if_needed(CA::Transaction*) + 32
15  QuartzCore                      0x000000018873134c CA::Context::commit_transaction(CA::Transaction*) + 252
16  QuartzCore                      0x00000001887583ac CA::Transaction::commit() + 504
17  QuartzCore                      0x0000000188758e78 CA::Transaction::observer_callback(__CFRunLoopObserver*, unsigned long, void*) + 120
18  CoreFoundation                  0x00000001854509a8 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32
19  CoreFoundation                  0x000000018544e630 __CFRunLoopDoObservers + 372
20  CoreFoundation                  0x000000018544ea7c __CFRunLoopRun + 956
21  CoreFoundation                  0x000000018537eda4 CFRunLoopRunSpecific + 424
22  GraphicsServices                0x0000000186de8074 GSEventRunModal + 100
23  UIKit                           0x000000018b639058 UIApplicationMain + 208
24  Dummy                           0x0000000100105f34 0x10003c000 + 827188
25  libdyld.dylib                   0x000000018438d59c start + 4

Thread 1:
0   libsystem_pthread.dylib         0x0000000184562ca8 start_wqthread + 0

Thread 2 name:  com.apple.uikit.eventfetch-thread
Thread 2:
0   libsystem_kernel.dylib          0x000000018447f224 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018447f09c mach_msg + 72
2   CoreFoundation                  0x0000000185450e90 __CFRunLoopServiceMachPort + 192
3   CoreFoundation                  0x000000018544eae4 __CFRunLoopRun + 1060
4   CoreFoundation                  0x000000018537eda4 CFRunLoopRunSpecific + 424
5   Foundation                      0x0000000185e98d74 -[NSRunLoop(NSRunLoop) runMode:beforeDate:] + 304
6   Foundation                      0x0000000185eb9b44 -[NSRunLoop(NSRunLoop) runUntilDate:] + 96
7   UIKit                           0x000000018bfc36a8 -[UIEventFetcher threadMain] + 136
8   Foundation                      0x0000000185f962d8 __NSThread__start__ + 996
9   libsystem_pthread.dylib         0x000000018456568c _pthread_body + 240
10  libsystem_pthread.dylib         0x000000018456559c _pthread_body + 0
11  libsystem_pthread.dylib         0x0000000184562cb4 thread_start + 4

Thread 3:
0   libsystem_kernel.dylib          0x000000018447f224 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018447f09c mach_msg + 72
2   Dummy                           0x000000010012fcf4 0x10003c000 + 998644
3   libsystem_pthread.dylib         0x000000018456568c _pthread_body + 240
4   libsystem_pthread.dylib         0x000000018456559c _pthread_body + 0
5   libsystem_pthread.dylib         0x0000000184562cb4 thread_start + 4

Thread 4 name:  com.apple.NSURLConnectionLoader
Thread 4:
0   libsystem_kernel.dylib          0x000000018447f224 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018447f09c mach_msg + 72
2   CoreFoundation                  0x0000000185450e90 __CFRunLoopServiceMachPort + 192
3   CoreFoundation                  0x000000018544eae4 __CFRunLoopRun + 1060
4   CoreFoundation                  0x000000018537eda4 CFRunLoopRunSpecific + 424
5   CFNetwork                       0x0000000185b8adf4 +[NSURLConnection(Loader) _resourceLoadLoop:] + 404
6   Foundation                      0x0000000185f962d8 __NSThread__start__ + 996
7   libsystem_pthread.dylib         0x000000018456568c _pthread_body + 240
8   libsystem_pthread.dylib         0x000000018456559c _pthread_body + 0
9   libsystem_pthread.dylib         0x0000000184562cb4 thread_start + 4

Thread 5 name:  AVAudioSession Notify Thread
Thread 5:
0   libsystem_kernel.dylib          0x000000018447f224 mach_msg_trap + 8
1   libsystem_kernel.dylib          0x000000018447f09c mach_msg + 72
2   CoreFoundation                  0x0000000185450e90 __CFRunLoopServiceMachPort + 192
3   CoreFoundation                  0x000000018544eae4 __CFRunLoopRun + 1060
4   CoreFoundation                  0x000000018537eda4 CFRunLoopRunSpecific + 424
5   AVFAudio                        0x000000019f6c2540 GenericRunLoopThread::Entry(void*) + 164
6   AVFAudio                        0x000000019f6e8814 CAPThread::Entry(CAPThread*) + 84
7   libsystem_pthread.dylib         0x000000018456568c _pthread_body + 240
8   libsystem_pthread.dylib         0x000000018456559c _pthread_body + 0
9   libsystem_pthread.dylib         0x0000000184562cb4 thread_start + 4

Thread 6:
0   libsystem_kernel.dylib          0x000000018449da88 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x00000001845631a4 _pthread_wqthread + 1260
2   libsystem_pthread.dylib         0x0000000184562cac start_wqthread + 4

Thread 7:
0   libsystem_pthread.dylib         0x0000000184562ca8 start_wqthread + 0

Thread 8:
0   libsystem_kernel.dylib          0x000000018449da88 __workq_kernreturn + 8
1   libsystem_pthread.dylib         0x00000001845631a4 _pthread_wqthread + 1260
2   libsystem_pthread.dylib         0x0000000184562cac start_wqthread + 4

Thread 9:
0   libsystem_pthread.dylib         0x0000000184562ca8 start_wqthread + 0

Thread 0 crashed with ARM Thread State (64-bit):
    x0: 0x0000000100d20b80   x1: 0x00000001742ea580   x2: 0x0000000000000008   x3: 0x00000001844e32c0
    x4: 0x00000000ffb80038   x5: 0x0000000000000010   x6: 0x0048000004210103   x7: 0x0000000000000000
    x8: 0x00000001742e9980   x9: 0x00000001742e9980  x10: 0x0000000000000001  x11: 0xbaddc0dedeadbead
   x12: 0x0000010000000100  x13: 0x206e6120676e6970  x14: 0x6c616e6f6974704f  x15: 0x000a65756c617620
   x16: 0x00000001844d3a1c  x17: 0x0000000000000000  x18: 0x0000000000000000  x19: 0x0000000000000000
   x20: 0x0000000000000002  x21: 0x0000000000000039  x22: 0x000000010022ac40  x23: 0x0000000000000002
   x24: 0x000000000000000b  x25: 0x0000000100231dc8  x26: 0x0000000171a68480  x27: 0x00000001aa543000
   x28: 0x0000000000000001   fp: 0x000000016fdc0ee0   lr: 0x0000000100518448
    sp: 0x000000016fdc0ea0   pc: 0x0000000100518448 cpsr: 0x20000000
我使用的是Xcode版本8.3.3(8E3004b),Swift3。请让我知道,如果有人有类似的问题之前,或任何猜测,以解决这个问题


谢谢

尝试从第2帧和第3帧准确地将崩溃符号化

您可以像下面这样象征崩溃:

基于此,

在您的情况下,您必须按以下方式致电:

atos -arch arm64 -o <PATH TO Dummy.app.dSYM>/Contents/Resources/DWARF/Dummy -l 0x10003c000 0x00000001000e2e14
atos-arch-arm64-o/Contents/Resources/DWARF/Dummy-l 0x10003c000 0x00000001000e2e14
Dummy.app.dSYM
位于

  • 右键单击
    Dummy.xccarchive
    ,然后
    显示包内容
  • 在那个
    dSYMs
    文件夹中
  • Dummy.app.dSYM
    位于
    dSYMs
    文件夹中
  • Dummy.app.dSYM
    复制到本地系统的某个地方
  • 将是本地系统中
    Dummy.app.dSYM
    的路径

  • 你需要对第2帧和第3帧进行符号化才能理解崩溃报告。你在那里使用的是零,尝试将其移动到viewdiapperthanks,@Vini以详细描述调试,它确实为上述问题提供了一些可以理解的输出,但在我更改代码并重建项目后,我仍然有同样的问题,只是现在符号化崩溃给出了类似于
    0xfff58b04(虚拟)
    的东西,有没有进一步调试它的想法?您必须通过更改加载地址来进行如上调试我正在调试新的崩溃日志和.dSYM文件,并再次传递地址(符号化)从新的崩溃日志加载地址,还有什么我应该做的吗?好的,所以我使用了symbolicatecrash工具,如前所述,可以对崩溃日志进行Symbolicated,并发现问题!感谢@Vini,Kerni,Lu_u为我们指出了从哪里开始!