【问题标题】:Feedback from Apple that App is crashing on launchingApple 反馈应用程序在启动时崩溃
【发布时间】:2017-11-21 14:39:14
【问题描述】:

我的应用程序在我的设备上运行良好,但苹果报告我应用程序在启动时崩溃,他们向我提供了一个不可读的崩溃日志,我尝试对其进行符号化但不能。如果有人帮我解决这个问题,我将不胜感激。

{"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

此应用基于 Xamarin.iOS 平台构建

【问题讨论】:

标签: ios iphone xamarin.ios crash


【解决方案1】:

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

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

所以,我们可以看到应用二进制文件的 UUID119ebd016d7730c1bd7ee247c4f549b4。您必须找到具有相同 UUID 的匹配 dSYM 文件。只有找到匹配的 dSYM 文件,才能符号化不可读的 Crash 报告。

解决方案:

  1. 在终端中使用以下命令在您的 Mac 上查找构建应用程序的 dSYM:

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

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

  2. 象征性崩溃报告。在符号化之前执行以下行。

    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 工具的路径是:/Applications/Xcode.app/Contents/SharedFrameworks/DVTFoundation.framework/Versions/A/Resources/symbolicatecrash,你可以根据你的Xcode 版本查看。

更新:

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

参考:

【讨论】:

  • 我没有得到任何 dSYM 文件使用这个命令是 mdfind "com_apple_xcode_dsym_uuids == 119EBD-016D-7730-C1BD-7EE247C4F549B4"
  • 你通过 Xcode 导出 ipa 时是否启用了Bitcode
  • 我有一个从 xarchive 中提取的 dSYM 文件,但终端仍然找不到文件..而且我没有启用 Bitcode..
  • @Hasan 您可以通过第一个参考链接中的命令解析 dYSM 以获取它的 uuid。然后检查你的 dSYM 的 uuid 是否与你的二进制文件的 uuid 相对应。
  • @Hasan,在 dSYM 中找到 UUID:dwarfdump --uuid AppName.app.dSYM。如果 UUID 与崩溃报告中的 UUID 不对应。 dSYM 文件不能符号化崩溃报告。
猜你喜欢
  • 2018-08-12
  • 2016-09-02
  • 1970-01-01
相关资源
最近更新 更多