将设备升级到 iOS12 后应用程序崩溃
Application crashes after upgrading device to iOS12
我的企业应用程序在 iOS 11 之前工作正常。昨天我将其中一台设备更新到 iOS 12 并测试了应用程序。它在启动时崩溃。
在调试时我发现它在模拟器上运行良好但在调用 main 之前就在设备上崩溃了。
崩溃日志
Incident Identifier: 34B04574-6BD3-4A5F-A352-244841532EAE
CrashReporter Key: 8a642341ed3bb03fe6ac849ed5857efe31b26830
Hardware Model: iPod7,1
Process: MyApp [1822]
Path: /private/var/containers/Bundle/Application/7E7F1946-60D5-4354-B1B6-C981FEE8F82B/MyApp.app/MyApp
Identifier: #########
Version: 18.8 (18.8)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: #########
Date/Time: 2018-09-25 12:33:25.6270 -0400
Launch Time: 2018-09-25 12:33:25.5276 -0400
OS Version: iPhone OS 12.0 (16A366)
Baseband Version: n/a
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x822bc15100000002
VM Region Info: 0x822bc15100000002 is not in any region. Bytes after previous region: 9379803191291412483
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
MALLOC_NANO 0000000280000000-00000002a0000000 [512.0M] rw-/rwx SM=PRV
--->
UNUSED SPACE AT END
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [1822]
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_platform.dylib 0x000000019118dff8 _platform_strcmp + 8
1 MyApp 0x0000000100b0f4d0 0x1005e0000 + 5436624
2 MyApp 0x0000000100b0f5d8 0x1005e0000 + 5436888
3 libobjc.A.dylib 0x00000001907530b0 call_load_methods + 184
4 libobjc.A.dylib 0x0000000190754610 load_images + 180
5 dyld 0x00000001012b2388 dyld::notifySingle+ 9096 (dyld_image_states, ImageLoader const*, ImageLoader::InitializerTimingList*) + 440
6 dyld 0x00000001012c4750 ImageLoader::recursiveInitialization+ 83792 (ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 440
7 dyld 0x00000001012c3798 ImageLoader::processInitializers+ 79768 (ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 136
8 dyld 0x00000001012c3854 ImageLoader::runInitializers+ 79956 (ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 84
9 dyld 0x00000001012b26a4 dyld::initializeMainExecutable+ 9892 () + 220
10 dyld 0x00000001012b7468 dyld::_main+ 29800 (macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 4600
11 dyld 0x00000001012b1044 _dyld_start + 68
已经经历过 Apple 开发者论坛和其他堆栈溢出崩溃。但到目前为止还没有指针。感谢任何帮助或指点。
我的应用程序因旧版本的 Crittercism iOS SDK 而崩溃。
经过几天的搜索和测试,终于在 iOS 12 找到了奇怪的崩溃的解决方案!!!
我上面的答案是正确的,问题确实是删除 "Crittercism iOS SDK"
的任何旧代码
但是……仅此一项并没有解决我的问题。如果您通过 "PODS" 使用此库,则还应删除其他行。
请搜索此行:“-ObjC -l"Crittercism_v5_4_0"”或任何其他组合(可能是其他图书馆编号)并删除所有。
构建并享受 :)
我的企业应用程序在 iOS 11 之前工作正常。昨天我将其中一台设备更新到 iOS 12 并测试了应用程序。它在启动时崩溃。 在调试时我发现它在模拟器上运行良好但在调用 main 之前就在设备上崩溃了。
崩溃日志
Incident Identifier: 34B04574-6BD3-4A5F-A352-244841532EAE
CrashReporter Key: 8a642341ed3bb03fe6ac849ed5857efe31b26830
Hardware Model: iPod7,1
Process: MyApp [1822]
Path: /private/var/containers/Bundle/Application/7E7F1946-60D5-4354-B1B6-C981FEE8F82B/MyApp.app/MyApp
Identifier: #########
Version: 18.8 (18.8)
Code Type: ARM-64 (Native)
Role: Foreground
Parent Process: launchd [1]
Coalition: #########
Date/Time: 2018-09-25 12:33:25.6270 -0400
Launch Time: 2018-09-25 12:33:25.5276 -0400
OS Version: iPhone OS 12.0 (16A366)
Baseband Version: n/a
Report Version: 104
Exception Type: EXC_BAD_ACCESS (SIGSEGV)
Exception Subtype: KERN_INVALID_ADDRESS at 0x822bc15100000002
VM Region Info: 0x822bc15100000002 is not in any region. Bytes after previous region: 9379803191291412483
REGION TYPE START - END [ VSIZE] PRT/MAX SHRMOD REGION DETAIL
MALLOC_NANO 0000000280000000-00000002a0000000 [512.0M] rw-/rwx SM=PRV
--->
UNUSED SPACE AT END
Termination Signal: Segmentation fault: 11
Termination Reason: Namespace SIGNAL, Code 0xb
Terminating Process: exc handler [1822]
Triggered by Thread: 0
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0 Crashed:
0 libsystem_platform.dylib 0x000000019118dff8 _platform_strcmp + 8
1 MyApp 0x0000000100b0f4d0 0x1005e0000 + 5436624
2 MyApp 0x0000000100b0f5d8 0x1005e0000 + 5436888
3 libobjc.A.dylib 0x00000001907530b0 call_load_methods + 184
4 libobjc.A.dylib 0x0000000190754610 load_images + 180
5 dyld 0x00000001012b2388 dyld::notifySingle+ 9096 (dyld_image_states, ImageLoader const*, ImageLoader::InitializerTimingList*) + 440
6 dyld 0x00000001012c4750 ImageLoader::recursiveInitialization+ 83792 (ImageLoader::LinkContext const&, unsigned int, char const*, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 440
7 dyld 0x00000001012c3798 ImageLoader::processInitializers+ 79768 (ImageLoader::LinkContext const&, unsigned int, ImageLoader::InitializerTimingList&, ImageLoader::UninitedUpwards&) + 136
8 dyld 0x00000001012c3854 ImageLoader::runInitializers+ 79956 (ImageLoader::LinkContext const&, ImageLoader::InitializerTimingList&) + 84
9 dyld 0x00000001012b26a4 dyld::initializeMainExecutable+ 9892 () + 220
10 dyld 0x00000001012b7468 dyld::_main+ 29800 (macho_header const*, unsigned long, int, char const**, char const**, char const**, unsigned long*) + 4600
11 dyld 0x00000001012b1044 _dyld_start + 68
已经经历过 Apple 开发者论坛和其他堆栈溢出崩溃。但到目前为止还没有指针。感谢任何帮助或指点。
我的应用程序因旧版本的 Crittercism iOS SDK 而崩溃。
经过几天的搜索和测试,终于在 iOS 12 找到了奇怪的崩溃的解决方案!!! 我上面的答案是正确的,问题确实是删除 "Crittercism iOS SDK"
的任何旧代码但是……仅此一项并没有解决我的问题。如果您通过 "PODS" 使用此库,则还应删除其他行。
请搜索此行:“-ObjC -l"Crittercism_v5_4_0"”或任何其他组合(可能是其他图书馆编号)并删除所有。 构建并享受 :)