从苹果的反馈,应用程序崩溃启动

我的应用程序在我的设备上工作完美,但苹果告诉我,该应用程序在启动时崩溃,他们提供了一个崩溃的日志,这是难以理解的forms,我试图象征着它,但不能。 如果有人帮我解决这个问题,我将不胜感激。

{"app_name":"ApplicationName","timestamp":"2017-11-19 17:17:40.98 -0800","app_version":"1.0","slice_uuid":"119ebd01-6d77-30c1-bd7e-e247c4f549b4","adam_id":1312796230,"build_version":"1.0","bundleID":"Logicunit.AnalyzeQuran","share_with_app_devs":false,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 11.1.2 (15B202)","incident_id":"DFC7AEE6-1BD7-45AC-B192-45B93C179CA3","name":"AnalyzeQuranIOS"} Incident Identifier: DFC7AEE6-1BD7-45AC-B192-45B93C179CA3 CrashReporter Key: 357841d912f2df927b24861ec18fb870765ae9bd Hardware Model: xxx1 Process: ApplicationName [857] Path: /private/var/containers/Bundle/Application/595A5C4D-0E0E-462D-88FD-38BF3399A298/ApplicationName.app/ApplicationName Identifier: Logicunit.ApplicationName Version: 1.0 (1.0) Code Type: ARM-64 (Native) Role: Foreground Parent Process: launchd [1] Coalition: ApplicationName [765] Date/Time: 2017-11-19 17:17:40.9170 -0800 Launch Time: 2017-11-19 17:17:40.8317 -0800 OS Version: iPhone OS 11.1.2 (15B202) Baseband Version: n/a Report Version: 104 Exception Type: EXC_CRASH (SIGABRT) Exception Codes: 0x0000000000000000, 0x0000000000000000 Exception Note: EXC_CORPSE_NOTIFY Triggered by Thread: 0 Application Specific Information: abort() called Filtered syslog: None found Thread 0 name: tid_303 Dispatch queue: com.apple.main-thread Thread 0 Crashed: 0 libsystem_kernel.dylib 0x0000000184a59348 0x184a38000 + 136008 1 libsystem_pthread.dylib 0x0000000184b6d344 0x184b6a000 + 13124 2 libsystem_c.dylib 0x00000001849c905c 0x184966000 + 405596 3 libsystem_c.dylib 0x00000001849c8fc4 0x184966000 + 405444 4 ApplicationName 0x0000000105758158 0x104e48000 + 9503064 5 ApplicationName 0x0000000105753238 0x104e48000 + 9482808 6 ApplicationName 0x000000010562a990 0x104e48000 + 8268176 7 ApplicationName 0x00000001056759d8 0x104e48000 + 8575448 8 ApplicationName 0x0000000105675554 0x104e48000 + 8574292 9 ApplicationName 0x0000000105758250 0x104e48000 + 9503312 10 ApplicationName 0x000000010575bf1c 0x104e48000 + 9518876 11 ApplicationName 0x0000000104e69e04 0x104e48000 + 138756 12 libdyld.dylib 0x000000018492a56c 0x184929000 + 5484 Thread 1: 0 libsystem_pthread.dylib 0x0000000184b6ac1c 0x184b6a000 + 3100 Thread 2: 0 libsystem_pthread.dylib 0x0000000184b6ac1c 0x184b6a000 + 3100 Thread 3: 0 libsystem_kernel.dylib 0x0000000184a59dbc 0x184a38000 + 138684 1 libsystem_pthread.dylib 0x0000000184b763f8 0x184b6a000 + 50168 2 libdispatch.dylib 0x00000001848cea78 0x1848c4000 + 43640 3 libdispatch.dylib 0x00000001848d0f40 0x1848c4000 + 53056 4 libdispatch.dylib 0x00000001848f2c34 0x1848c4000 + 191540 5 CoreFoundation 0x0000000184ee95e4 0x184e00000 + 955876 6 CoreFoundation 0x0000000184eebad4 0x184e00000 + 965332 7 CoreFoundation 0x0000000184f7551c 0x184e00000 + 1529116 8 CoreFoundation 0x0000000184eebad4 0x184e00000 + 965332 9 CoreFoundation 0x0000000184ee8e8c 0x184e00000 + 953996 10 CoreFoundation 0x0000000184eebad4 0x184e00000 + 965332 11 CoreFoundation 0x0000000184edacac 0x184e00000 + 896172 12 libsystem_pthread.dylib 0x0000000184b6b680 0x184b6a000 + 5760 13 libsystem_pthread.dylib 0x0000000184b6b3d0 0x184b6a000 + 5072 14 libsystem_pthread.dylib 0x0000000184b6bc0c 0x184b6a000 + 7180 15 Foundation 0x0000000185847d98 0x185825000 + 142744 16 Foundation 0x0000000185932874 0x185825000 + 1103988 17 libsystem_pthread.dylib 0x0000000184b6c31c 0x184b6a000 + 8988 18 libsystem_pthread.dylib 0x0000000184b6c1e8 0x184b6a000 + 8680 19 libsystem_pthread.dylib 0x0000000184b6ac28 0x184b6a000 + 3112 Thread 4: 0 libsystem_pthread.dylib 0x0000000184b6ac24 0x184b6a000 + 3108 Thread 0 crashed with ARM Thread State (64-bit): x0: 0x0000000000000000 x1: 0x0000000000000000 x2: 0x0000000000000000 x3: 0x0000000000000001 x4: 0x0000000000000000 x5: 0x0000000000989680 x6: 0x0000000000000038 x7: 0xffffffffffffffec x8: 0x0000000008000000 x9: 0x0000000004000000 x10: 0x00000000000003e8 x11: 0x00000001b7875c3c x12: 0x00000001b7875c3c x13: 0x0000000000000018 x14: 0x0000000000000001 x15: 0x0000000000000881 x16: 0x0000000000000148 x17: 0x0000000000000000 x18: 0x0000000000000000 x19: 0x0000000000000006 x20: 0x00000001b5545b80 x21: 0x0000000105930000 x22: 0x0000000000000303 x23: 0x00000001b5545c60 x24: 0x0000000105b80b73 x25: 0x00000001057aedfb x26: 0x0000000000000000 x27: 0x00000001058b1c90 x28: 0x00000001058b1c70 fp: 0x000000016afb6980 lr: 0x0000000184b6d344 sp: 0x000000016afb6950 pc: 0x0000000184a59348 cpsr: 0x00000000 

这个应用程序build立在Xamarin.iOS平台上

根据您在评论中提供的完整崩溃报告,“二进制映像”部分的第一行是:

 Binary Images: 0x104e48000 - 0x105847fff AnalyzeQuranIOS arm64 <119ebd016d7730c1bd7ee247c4f549b4> /var/containers/Bundle/Application/595A5C4D-0E0E-462D-88FD-38BF3399A298/AnalyzeQuranIOS.app/AnalyzeQuranIOS 

所以,我们可以看到应用程序二进制文件的UUID119ebd016d7730c1bd7ee247c4f549b4 。 您必须find具有相同UUID的匹配dSYM文件。 只有当您find匹配的dSYM文件时,才可以表示不可读的崩溃报告。

解:

  1. 在terminal中使用以下命令来查找构build应用程序的Mac上的dSYM:

      mdfind "com_apple_xcode_dsym_uuids == 12345678-90AB-CDEF-1234-567890ABCDEF" 

    string“12345678-90AB-CDEF-1234-567890ABCDEF”是重新格式化为大写和8-4-4-4-12组的崩溃报告中的UUIDstring。

  2. Symobolicate崩溃报告。 符号化前执行以下行。

     export DEVELOPER_DIR=/Applications/Xcode.app/Contents/Developer 

    .crash.app.dSYM文件放在同一个目录中,然后运行:

     /path/symbolicatecrash /path/mycrash.crash /path/MyAppName.app.dSYM > symbolicatedcrash.crash 

    Xcode 9.1中symbolicatecrash工具的path是: /Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash ,你可以根据你的Xcode版本进行检查。

更新:

如果您在通过Xcode导出ipa时启用了位 ,则二进制文件将由Apple重新编译并为其创build新的dSYM。 你可以从iTunes Connect或Xcode-> Window-> Organizer下载新的dSYM文件,关于这个你可以参考这个关于Missing dSYM的所有内容 。

参考:

  • 如何解决象征问题