【问题标题】:App Crash (SIGABRT) only in AppStore Review, not in Sim or my HardwareApp Crash (SIGABRT) 仅在 AppStore Review 中,不在 Sim 或我的硬件中
【发布时间】:2019-11-01 14:52:40
【问题描述】:

我最近更新了一个稳定的应用程序,该应用程序已在商店中使用了一年多,下载量已超过一千次。最后更新于 6 月 19 日。一切都好。 本周,我在 App Delegate 中的 Flurry 启动中添加了一个唯一的 UserID,并在各种视图控制器中添加了一些额外的 Flurry 事件调用,以帮助跟踪罕见的崩溃(可能一年报告 3 次崩溃)。应用程序在各种设备上的 Xcode Sim 中运行良好,并且在我的真实硬件中在调试和不受限制的情况下运行。 GIT 比较确认代码库或 XIB 等没有其他更改。上次在 Xcode 10.x 上为 AppStore 编译,现在是 11.1

App Store 审核失败并在启动时崩溃,他们尝试了 3 次并发送了崩溃日志。我删除了一些模块(但还没有 AppDelegate 中的 UserID)并重新提交:结果相同。我第一次在崩溃报告中发送它说他们在第三代 iPad 上进行了测试,所以我让他们第二次在 iPhone 上尝试,下一组崩溃报告的设备代码为 XXX!他们运行 13.1.2,我在 13.1.3 和 12.1.4 上测试都可以

这是问题 1)我看不到如何符号化崩溃报告。为此,Xcode 需要应用程序的二进制文件和 dSYM(我有这些),我没有 Flurry dSYM 和运行测试的硬件/操作系统的操作系统符号。我没有第三代 iPad (iPad11,3) 来插入并获取 Xcode 的符号。在这种情况下是否有替代符号化的途径。

2) 我不确定这些符号在这里是否有帮助,因为在从我的 Main 调用之后,看起来崩溃在 iOS 框架中很深(可能是 abi,​​见下文)。我知道当故事板有缺陷时经常会发生这类启动崩溃,但我看不到一个,并且该应用程序在新旧手机和旧 iPad 上本地运行良好。当我无法复制崩溃时(除了删除 Flurry 设置的 UserID!(我的下一个盲点!)),我的下一步是什么?

更新:我现在已将应用程序中的所有更改恢复到应用程序商店中的最后一个稳定版本(除了一个错误修复,我需要为使用旧 iOS 的用户发布 KVO Observer)。已恢复的应用程序仍未通过 App Store 审核!唯一的差异是在故事板中,一堆 Rect 的大小不同,因为上次打开的 IB 设备与上次提交时 repo 中的最后一个设备不同。应用在本地模拟和本地硬件上运行良好,但在 App Store 审核中启动时仍然崩溃。

{"app_name":"QueensDB","timestamp":"2019-10-30 15:28:10.12 -0700","app_version":"1.7","slice_uuid":"2133ecf9-943d-380e-9d2b-eb881e02a76f","adam_id":1369301260,"build_version":"2","share_with_app_devs":true,"is_first_party":false,"bug_type":"109","os_version":"iPhone OS 13.1.2 (17A860)","incident_id":"BB1B0B65-66BF-40B7-9017-7F8B14B57F58","name":"QueensDB"}  
Incident Identifier: BB1B0B65-66BF-40B7-9017-7F8B14B57F58  
CrashReporter Key:   1f7448b682620a373ff01cf8ae95a9238488a987  
Hardware Model:      iPad11,3  
Process:             QueensDB [90772]  
Version:             2 (1.7)  
AppStoreTools:       11A1002b  
Code Type:           ARM-64 (Native)  
Role:                Foreground  
Parent Process:      launchd [1]  




Date/Time:           2019-10-30 15:28:09.6488 -0700  
Launch Time:         2019-10-30 15:28:09.5818 -0700  
OS Version:          iPhone OS 13.1.2 (17A860)  
Release Type:        User  
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  


Last Exception Backtrace:  
(0x184f6bc30 0x184c860c8 0x184e5b3ac 0x18897c810 0x18897cb2c 0x18855b700 0x18855b934 0x1884f6428 0x1889c59bc 0x1049975b8 0x104993ab4 0x188c935d8 0x18855b700 0x18855b934 0x1884f6428 0x188c928cc 0x1889c5b74 0x188920b94 0x188c935d8 0x18855b700 0x1884f6428 0x188c97784 0x18855b700 0x18855b934 0x1884f6428 0x188c926b0 0x188c952e8 0x18915a7d0 0x18915a660 0x1890007c4 0x189000d3c 0x188fff46c 0x1887a7710 0x188c537e8 0x1887a8248 0x1887a7c78 0x1887a8064 0x1887a78e8 0x1887ac098 0x188c6d214 0x188b80e90 0x188c6d1cc 0x1887abdb0 0x188c6d0b4 0x1887abc0c 0x188617630 0x1886160f4 0x188617360 0x188ffd91c 0x188ba2d7c 0x18a0d5014 0x18a0fbbd0 0x18a0e00f8 0x18a0fb864 0x184c1300c 0x184c15d50 0x18a122384 0x18a122030 0x18a12259c 0x184ee7260 0x184ee71b4 0x184ee6920 0x184ee17ec 0x184ee1098 0x18f04b534 0x1890017ac 0x10494a1c8 0x184d60f30)  


Thread 0 name:  Dispatch queue: com.apple.main-thread  
Thread 0 Crashed:  
0   libsystem_kernel.dylib         0x0000000184d56ef4 0x184d31000 + 155380  
1   libsystem_pthread.dylib       0x0000000184c77d1c 0x184c75000 + 11548  
2   libsystem_c.dylib             0x0000000184c07a54 0x184b91000 + 485972  
3   libc++abi.dylib               0x0000000184d1e3c8 0x184d1d000 + 5064  
4   libc++abi.dylib               0x0000000184d1e5c0 0x184d1d000 + 5568  
5   libobjc.A.dylib               0x0000000184c863a8 0x184c80000 + 25512  
6   libc++abi.dylib               0x0000000184d2b634 0x184d1d000 + 58932  
7   libc++abi.dylib               0x0000000184d2b5c0 0x184d1d000 + 58816  
8   libdispatch.dylib             0x0000000184c13020 0x184c10000 + 12320  
9   libdispatch.dylib             0x0000000184c15d50 0x184c10000 + 23888  
10  FrontBoardServices             0x000000018a122384 0x18a0c8000 + 369540  
11  FrontBoardServices             0x000000018a122030 0x18a0c8000 + 368688  
12  FrontBoardServices             0x000000018a12259c 0x18a0c8000 + 370076  
13  CoreFoundation                 0x0000000184ee7260 0x184e39000 + 713312  
14  CoreFoundation                 0x0000000184ee71b4 0x184e39000 + 713140  
15  CoreFoundation                 0x0000000184ee6920 0x184e39000 + 710944  
16  CoreFoundation                 0x0000000184ee17ec 0x184e39000 + 690156  
17  CoreFoundation                 0x0000000184ee1098 0x184e39000 + 688280  
18  GraphicsServices               0x000000018f04b534 0x18f048000 + 13620  
19  UIKitCore                     0x00000001890017ac 0x1885d1000 + 10684332  
20  QueensDB                       0x000000010494a1c8 0x104944000 + 25032  
21  libdyld.dylib                 0x0000000184d60f30 0x184d60000 + 3888  

【问题讨论】:

  • 您至少应该能够符号化应用程序中的堆栈帧 20。您是否尝试过 TestFlight 构建?
  • @Paul,感谢您的回复!尽管从商店下载崩溃报告,从网站提取实际报告,添加正确的文件扩展名,将其拖到正确的管理器视图窗格,并使用符号下拉列表,Xcode 没有做任何事情。但是,要寻址堆栈帧 20,它必须是“Main”。您在主线程的几乎每个堆栈跟踪中都会看到相同的模式。 “主要”并没有让我了解问题可能在发布中出现在哪里。我打算从 AppDelegate 中删除 USERID 内容并使用今天发布的 Xcode 11.2 进行重建。

标签: ios xcode crash app-store


【解决方案1】:

事实证明,一旦 Store Reviewer 向我发送有关硬件/软件版本的崩溃报告,我可以重新表示,崩溃问题是我使用 SearchDisplayController 在加载初始视图控制器时崩溃。

很有趣,因为该应用在我的本地硬件上的 iOS 13.2 上运行良好。也许我需要了解一个严格的设置?

一位苹果工程师提供了以下信息:必须对违规应用进行瘦身才能重现错误:https://forums.developer.apple.com/thread/125520

【讨论】:

    猜你喜欢
    • 2013-07-21
    • 1970-01-01
    • 1970-01-01
    • 2023-02-04
    • 1970-01-01
    • 2020-03-08
    • 1970-01-01
    • 2015-06-16
    • 1970-01-01
    相关资源
    最近更新 更多