2017-10-10 61 views
0

最近我的应用程序开始打破,如果我为AppStore版本创建.ipa文件。如果我在模拟器中运行相同的代码,或者如果从xcode在我的iPhone上运行它,它工作正常,但是一旦我创建发行包,它将在打开特定视图控制器时崩溃。iOS应用程序在释放模式下崩溃,在调试模式下工作

我通过几#2帖子里的人也有类似的问题去,并试图以下几件事:

  • 释放模式设置SWIFT_OPTIMIZATION_LEVEL = "-Onone";
  • 释放模式
  • 设置GCC_OPTIMIZATION_LEVEL = 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。请让我知道如果有人有类似的问题,或任何猜测解决这个问题!

谢谢!

+4

您需要symbolicate框架2,3了解崩溃报告的Dummy.app.dSYM的路径。 – Kerni

+1

你正在使用的东西,这是一个零,试图将其移动到viewDidAppear –

回答

1

尝试symbolicate崩溃正是它从帧2崩溃和3

崩溃像下面你可以symbolicate:

在此基础上link

enter image description here

你的情况您必须致电如下:

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

Dummy.app.dSYM位于

  1. 右击Dummy.xcarchive,然后Show Package Contents
  2. 在这种dSYMs文件夹中有
  3. Dummy.app.dSYM位于dSYMs文件夹
  4. 复制Dummy.app.dSYM到地方到本地系统。
  5. <PATH TO Dummy.app.dSYM>将在您的本地系统
+0

谢谢,@Vini的调试的详细说明,它确实给了我一些上述问题的理解输出,但在我改变我的代码并重建项目,我仍然有同样的问题,除了现在象征性的崩溃产生像'0xfff58b04(在虚拟)',任何想法如何进一步调试? – user2312896

+0

您必须通过更改加载地址 –

+0

来调试与上述相同的内容我正在将新的崩溃日志和.dSYM文件进行调试,并再次将新地址(代表性)和加载地址从新的崩溃日志中传出,还有其他事情应该做什么? – user2312896

相关问题