Я сталкивался с этой проблемой не очень часто, и все версии ошибок выпускаются больше, чем IOS 11.
Это один из журналов аварий:
Версия ОС: iPhone OS 11.1.2 (15B202)
Версия с основной полосой: н / д
Версия отчета: 104
Тип исключения: EXC_BAD_ACCESS (SIGSEGV)
Подтип исключения: KERN_INVALID_ADDRESS в 0x00000101831801e0
VM Region Info: 0x101831801e0 не находится ни в одном регионе. Байт после предыдущего региона: 1097952920033
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
MALLOC_NANO (reserved) 00000001d8000000-00000001e0000000 [128.0M] rw-/rwx SM=NUL ...(unallocated)
--->
НЕиспользуемое пространство в конце
Сигнал завершения: Ошибка сегментации: 11
Причина завершения: Пространство имен SIGNAL, код 0xb
Процесс завершения: обработчик exc [0]
запускается по нити: 0
Отфильтрованный системный журнал:
Не найдено
Имя потока 0: очередь отправки: com.apple.main-thread
Тема 0 Сбой:
0 ??? 0x00000101831801e0 0 + 1106005983712
1 MobileCoreServices 0x0000000183188af0 - [LSApplicationWorkspace deviceIdentifierForVendor] + 192
2 UIKit 0x000000018ad5cd48 - [UIDevice identifierForVendor] + 56
3 Test-Demo-iOS 0x000000010073cc4c __35 + [getInstance_: vendorKey:] _ block_invoke + 160
4 libdispatch.dylib 0x0000000180d75048 _dispatch_client_callout + 16
5 libdispatch.dylib 0x0000000180d78710 dispatch_once_f $ VARIANT $ mp + 60
...
Этот код появился в начале viewDidLoad. И в getInstance_ мой оригинальный код:
c_inst->dbg("_device_id", [[[[UIDevice currentDevice] identifierForVendor] UUIDString]UTF8String]);
Этот код может решить эту проблему. И я внес некоторые изменения, но все же не смог избежать этого сбоя:
UIDevice *device = [UIDevice currentDevice];
if (device){
NSUUID *idfv = [device identifierForVendor];
if (idfv){
c_inst->dbg("_device_id", [[idfv UUIDString] UTF8String]);
}
}
Кто-нибудь сталкивался с этой проблемой и знает причину этой аварии?
Мне также нужно, чтобы кто-нибудь помог мне дать несколько советов, чтобы решить эту проблему.
Спасибо