Сбой приложения (SIGABRT) только в AppStore Review, но не в Sim или моем оборудовании - PullRequest
0 голосов
/ 01 ноября 2019

Я недавно обновил стабильное приложение, которое было в Магазине более года и более тысячи загрузок. Последнее обновление 6/19. Все хорошо. На этой неделе я добавил уникальный UserID к своему запуску Flurry в App Delegate и несколько дополнительных вызовов событий Flurry в различных контроллерах представления, чтобы помочь отследить редкие сбои (возможно, 3 сбои, о которых сообщалось в год). Приложение отлично работает в Xcode Sim на различных устройствах, а на моем реальном оборудовании - как в режиме отладки, так и в непривязанном режиме. Сравнение GIT подтверждает отсутствие других изменений в кодовой базе или XIB и т. Д. Последняя компиляция для AppStore на Xcode 10.x, теперь 11.1

Проверка App Store завершается неудачно, происходит сбой при запуске, они пытались три раза и отправляли журналы сбоев. Я удалил некоторые из модов (но не UserID в AppDelegate) и повторил: тот же результат. Первый раз, когда я отправил его в отчете о сбое, они сказали, что они тестировали на iPad третьего поколения, поэтому я попросил их попробовать второй раз на iPhone, следующий набор отчетов о сбоях имел код устройства XXX! Они запускали 13.1.2, я тестировал на 13.1.3 и на 12.1.4 все ОК

Вот проблема (ы) 1) Я не вижу, как символизировать отчеты о сбоях. Для этого Xcode требуется двоичный файл приложения и dSYM (у меня они есть), у меня нет Flurry dSYM и символов ОС для аппаратного обеспечения / ОС, на котором выполнялся тест. У меня нет iPad третьего поколения (iPad11,3) для подключения и получения символов для Xcode. Есть ли альтернативный путь к символизации в этих обстоятельствах.

2) Я не уверен, что символы помогут здесь в любом случае, так как похоже, что крах глубоко в платформах iOS (возможно, abi, см. Ниже) послевызывается из моего главного. Я знаю, что подобные сбои запуска часто происходят, когда раскадровки имеют дефект, но я не вижу их, и приложение прекрасно работает локально на новых и старых телефонах и старых iPad. Каковы будут мои дальнейшие действия, когда я не смогу воспроизвести сбой (кроме удаления идентификатора пользователя Flurry set (мой следующий слепой шаг!))?

ОБНОВЛЕНИЕ: теперь я отменил все изменения в приложении обратнодо последней стабильной версии в App Store (за исключением одного исправления ошибки, когда мне нужно было выпустить KVO Observer для пользователей со старой iOS). Возвращенное приложение все еще не проходит проверку в App Store! Единственные различия находятся в раскадровках, где куча Rects имеют разные размеры, потому что последнее открытое устройство IB отличалось от последнего устройства в репо с последней подачи. Приложение работает нормально на локальных симках и локальном оборудовании, но все равно вылетает при запуске в обзоре 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  

1 Ответ

0 голосов
/ 05 ноября 2019

Оказывается, после того, как обозреватель магазина отправил мне отчет о сбое в версии аппаратного / программного обеспечения, который я мог повторно обозначить, проблемой сбоя было мое использование SearchDisplayController, который произошел сбой при загрузке исходного контроллера представления.

Интересно, потому что приложение отлично работает на iOS 13.2 на моем локальном оборудовании. Может быть, есть настройка строгости, о которой мне нужно знать?

Инженер Apple предоставил следующую информацию: Приложение-нарушитель должно быть прорежено, чтобы воспроизвести ошибку: https://forums.developer.apple.com/thread/125520

...