【问题标题】:iOS app crashes due to unknown error NO_CRASH_STACK + 0由于未知错误 NO_CRASH_STACK + 0,iOS 应用程序崩溃
【发布时间】:2020-05-13 09:54:09
【问题描述】:

用户抱怨应用程序在启动时开始崩溃。用户使用 ios 9.3 或 10.3。由于未知错误,应用程序崩溃。 Crashlytics 中不报告此错误。我在 Xcode - Window - Organizer - 崩溃中看到一个错误,但没有详细信息:

NO_CRASH_STACK + 0

在装有 iOS 10.3.4 的 iPhone 5 模拟器上运行应用程序不会导致错误。我拿了一台装有 iOS 10.3.4 的真正的 iPhone 5 设备。我从 Xcode 启动了我的应用程序,该应用程序没有崩溃。从 AppStore 安装了相同的应用程序 - 应用程序崩溃。我假设如果从 Xcode 启动该应用程序不会崩溃,因为该应用程序在调试模式下无法访问真实 Apple ID 下的 iTunes Connect。我添加了沙盒账户而不是真实账户,我测试了购买,使用测试环境和沙盒账户时应用没有崩溃。

如果在 iPhone 5 上使用真实 Apple ID 登录,通过启动应用程序导致崩溃,然后在 Xcode - 窗口 - 设备和模拟器中,我选择 iPhone 5,然后查看设备日志。此窗口包含以下信息。

如何确定错误发生的确切位置?是否可以在 XCode 上的 iPhone 5 iOS 10.3.4 上使用真实 Apple ID 测试与 iTunes Connect 的连接?我也有 iPhone XS max,在此设备上,我可以在 XCode 调试模式下使用真实 Apple ID 连接到 iTunes Connect,但不能在 iPhone 5 上。

Date / Time: 2020-05-13 11: 21: 41.2938 +0300
Launch Time: 2020-05-13 11: 21: 40.0000 +0300
OS Version: iPhone OS 10.3.4 (14G61)
Report Version: 104

Exception Type: EXC_BAD_ACCESS (SIGBUS)
Exception Subtype: KERN_PROTECTION_FAILURE at 0x00b485b0
Termination Signal: Bus error: 10
Termination Reason: Namespace SIGNAL, Code 0xa
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 ??? 0x00b485b0 0 + 11830704
1   ??? 0x17e57c04 0 + 400915460
2 dyld 0x004d6da4 0x4b2000 + 150948
3 dyld 0x004be150 ImageLoaderMegaDylib :: incrementCoalIterator + 49488 (ImageLoader :: CoalIterator &) + 0

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

Thread 2:
0 libsystem_pthread.dylib 0x1a84e454 start_wqthread + 0

Thread 3:
0 libsystem_pthread.dylib 0x1a84e454 start_wqthread + 0

Thread 4 name: com.apple.uikit.eventfetch-thread
Thread 4:
0 libsystem_kernel.dylib 0x1a784900 mach_msg_trap + 20
1 libsystem_kernel.dylib 0x1a7846e0 mach_msg + 44
2 CoreFoundation 0x1af87be2 __CFRunLoopServiceMachPort + 144
3 CoreFoundation 0x1af86064 __CFRunLoopRun + 1436
4 CoreFoundation 0x1aed91ae CFRunLoopRunSpecific + 470
5 CoreFoundation 0x1aed8fd0 CFRunLoopRunInMode + 104
6 Foundation 0x1b82daf4 - [NSRunLoop + 47860 (NSRunLoop) runMode: beforeDate:] + 258
7 Foundation 0x1b84a76c - [NSRunLoop + 165740 (NSRunLoop) runUntilDate:] + 86
8 UIKit 0x20b62ad8 - [UIEventFetcher threadMain] + 128
9 Foundation 0x1b9118ea __NSThread__start__ + 1122
10 libsystem_pthread.dylib 0x1a85093a _pthread_body + 216
11 libsystem_pthread.dylib 0x1a85085c _pthread_start + 234
12 libsystem_pthread.dylib 0x1a84e468 thread_start + 8

Thread 0 crashed with ARM Thread State (32-bit):
    r0: 0x00000000 r1: 0x00000004 r2: 0x00000003 r3: 0x0061c200
    r4: 0x00000005 r5: 0x00000000 r6: 0x00000001 r7: 0x0061c09c
    r8: 0x0061c060 r9: 0x00000000 r10: 0x004c972d r11: 0x004e34dc
    ip: 0x00b32f68 sp: 0x0061c044 lr: 0x00000000 pc: 0x00b485b0
  cpsr: 0x60000010

Binary Images:...

【问题讨论】:

    标签: ios xcode


    【解决方案1】:

    在我的例子中是依赖问题。 我们使用 CocoaPods 和 SPM 添加的 SPM.SnapKit 在 Iphone 5、ios 9 上崩溃。

    如果您使用 SPM,请尝试检查依赖关系。

    【讨论】:

    • 我不使用 SPM
    【解决方案2】:

    这里列出了你可以做的事情

    1. 清理构建文件夹
    2. 删除获取的数据
    3. 删除 xcode 后跟库中的开发者文件夹

    如果有效,请发表评论

    【讨论】:

      【解决方案3】:

      在 Apple 支持的帮助下问题已解决

      编译器中存在产生错误 armv7 代码的错误, 导致这次崩溃。它在 Xcode 11.5 beta 中得到解决。避免 这个错误,请使用 Xcode 11.3 而不是 Xcode 11.4 编译,并且 禁用位码,这样 App Store 就不会使用 有这个问题的编译器。当 Xcode 11.5 发布时,请 重新启用位码。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2012-07-04
        • 2013-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-08-05
        • 1970-01-01
        相关资源
        最近更新 更多