【问题标题】:Fabric crashes after the update : [Fabric isCrashlyticsCollectionEnabled]: unrecognized selector sent to class 0x10c0bb918更新后结构崩溃:[Fabric isCrashlyticsCollectionEnabled]:无法识别的选择器发送到类 0x10c0bb918
【发布时间】:2019-04-29 16:05:53
【问题描述】:

今天 Pod 更新后 Fabric 崩溃

Fabric 1.9.0

[Fabric isCrashlyticsCollectionEnabled]: unrecognized selector sent to class 0x10c0bb918

崩溃线:

Fabric.with([Crashlytics.self])

它在应用启动时崩溃。有人遇到同样的问题吗?

【问题讨论】:

  • 您是否在 info.plist 文件中添加了 Fabric 密钥及其信息?
  • @mojtabaalmoussawi 是的
  • 您使用的是 Xcode 10 吗?如果是,您需要将应用的构建 info.plist 位置添加到构建阶段的输入文件中
  • @mojtabaalmoussawi 是的 xcode 10。我该怎么做?
  • @mojtabaalmoussawi 没用。仍然崩溃

标签: ios swift google-fabric


【解决方案1】:

这仍然发生在我的一个项目中,我刚刚使用过时的 Fabric & Crashlytics,就像上面 @Lewis42 的 解决方案 中一样。

我们需要更新 Fabric,所以我今天坚持了下来。更新到 Fabric 和 Crashlytics 的最新 pod,并且在启动时再次发生崩溃。

我确定我之前已经尝试过,但这次我做了以下操作:

  1. 通过在 podfile 中注释掉两个 pod 来卸载它们,然后运行 ​​pod install
  2. 确保项目或 pods 文件夹中没有 Fabric 或 Crashlytics 文件夹或框架。主项目文件夹中有一个 Fabric.framework,我想我之前添加它是为了解决这个问题,所以我删除了它。
  3. 取消注释 podfile 中的两个 pod 并运行 pod install
  4. 构建了应用程序,它终于在更新的 pod 上成功运行了!

希望没有人仍然有这个问题,但如果你是,那么这可能会有所帮助!

【讨论】:

    【解决方案2】:

    这可能是由于 Fabric SDK 的版本与 Crashlytics SDK 的版本不兼容造成的。当我运行“pod update Fabric”时,我碰巧偶然发现了这个陷阱。

    这更新了 Fabric SDK,但没有更新 Crashlytics。问题就出现了。

    但是,Crashlytics SDK 的 podspec 文件指定了对 Fabric 的依赖项以及此依赖项的兼容版本。这是我从 Podfile.lock 文件中假设的:

       - Crashlytics (3.8.6):
         - Fabric (~> 1.6.3)
    

    所以,如果版本范围规范 '(~> 1.6.3)' 是正确的,即使我运行了 'pod update Fabric',也不应该出现这个问题。然而,它做到了。所以,我的结论是版本范围规范包含不兼容的版本。

    我的解决方案是仅运行“pod update Crashlytics”并更新 Crashlytics 及其依赖项。

    如果这不能解决您的问题,请尝试删除 Fabric 和 Crashlytics,然后重新添加最新版本。

    【讨论】:

      【解决方案3】:

      我通过更新我的Podfile 恢复到以前版本的 Crashlytics

      pod 'Fabric', '1.8'
      pod 'Crashlytics', '3.11'
      

      然后更新 Cocoapods:

      pod update 'Crashlytics'

      希望 Google 尽快解决此问题

      【讨论】:

      • 我也是这样做的。 :(
      • 我很惊讶这么少的人遇到这个问题,一定是特定于我们的设置吗?无论哪种方式,请随时接受这个答案;)
      • @Lewis42 我从来没有处理过这样的事情,其中​​ Crashlytics 工具本身就是导致崩溃的原因:D
      • @hamada147 我也没有
      • @Lewis42 我也这么认为,因为这只会影响我的一些应用。
      【解决方案4】:
      1. 转到“通过手动步骤更新”并下载 zip 文件。这是链接:https://fabric.io/kits/ios/crashlytics/update?type=manual

      2. 解压、复制和替换框架(Fabric 和 Crashlytics)

      它对我有用

      【讨论】:

      • 不适合我。 FWIW,崩溃的应用程序是基于 Swift 的,并与操作扩展共享框架。另一个没有扩展的 Swift 应用可以正常工作。不知道这是否相关。
      猜你喜欢
      • 2019-06-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多