将设备升级到 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"”或任何其他组合(可能是其他图书馆编号)并删除所有。 构建并享受 :)