首页 > 解决方案 > Firebase SDK for iOS 更新导致 Zombie Object 崩溃

问题描述

我们将 Firebase iOS SDK 版本从 6.32.2 更新到了最新版本:7.10.0

使用的库(及其依赖项):

设置是手动完成的(基于提供的 README.md)并且没有使用依赖管理器。最新版本没有任何问题,但新版本在方案的诊断设置中启用“僵尸对象”时会导致以下崩溃:

* thread #20, queue = 'com.google.GDTCCTUploader', stop reason = EXC_BAD_ACCESS (code=1, address=0x555555555552)
  * frame #0: 0x00007fff20176876 libobjc.A.dylib`object_setClass + 119
    frame #1: 0x00007fff20430bd2 CoreFoundation`-[NSObject(NSObject) __dealloc_zombie] + 170
    frame #2: 0x00007fff207f44d6 Foundation`-[NSOperation dealloc] + 281
    frame #3: 0x00007fff2018f834 libobjc.A.dylib`objc_object::sidetable_release(bool, bool) + 174
    frame #4: 0x00007fff2007f42f libsystem_blocks.dylib`_Block_release + 128
    frame #5: 0x00007fff2007f42f libsystem_blocks.dylib`_Block_release + 128
    frame #6: 0x00007fff2007f42f libsystem_blocks.dylib`_Block_release + 128
    frame #7: 0x0000000104b44797 P2021_DEV`__destroy_helper_block_e8_32s40s48s + 24
    frame #8: 0x00007fff2007f42f libsystem_blocks.dylib`_Block_release + 128
    frame #9: 0x000000010c4219c8 libdispatch.dylib`_dispatch_client_callout + 8
    frame #10: 0x000000010c428440 libdispatch.dylib`_dispatch_lane_serial_drain + 1222
    frame #11: 0x000000010c428f67 libdispatch.dylib`_dispatch_lane_invoke + 439
    frame #12: 0x000000010c434de2 libdispatch.dylib`_dispatch_workloop_worker_thread + 882
    frame #13: 0x00007fff61167499 libsystem_pthread.dylib`_pthread_wqthread + 314
    frame #14: 0x00007fff61166467 libsystem_pthread.dylib`start_wqthread + 15

试用应用程序时的随机 Xcode 控制台输出:

objc[73435]: Class _NSZombie_NSURLRequest is implemented in both ?? (0x7fb7c65124b0) and ?? (0x7fb7c6212760). One of the two will be used. Which one is undefined.

objc[73678]: Class _NSZombie_NSURLSessionEffectiveConfiguration is implemented in both ?? (0x7f8b0d586770) and ?? (0x7f8b0e2ec570). One of the two will be used. Which one is undefined.

objc[73678]: Class _NSZombie_NWConcrete_nw_activity is implemented in both ?? (0x7f8b0eea9ac0) and ?? (0x7f8b3f423580). One of the two will be used. Which one is undefined.

objc[73678]: Class _NSZombie___CFN_TaskMetrics is implemented in both ?? (0x7f8b1857beb0) and ?? (0x7f8b18b8fea0). One of the two will be used. Which one is undefined.

这可能是什么原因造成的?我没有在 GitHub 中创建错误票,因为这似乎是一个设置问题。

标签: iosswiftobjective-cxcodefirebase

解决方案


推荐阅读