如何更新 Fabric 和 Crashlytics?
Posted
技术标签:
【中文标题】如何更新 Fabric 和 Crashlytics?【英文标题】:How to update Fabric & Crashlytics? 【发布时间】:2015-09-30 07:36:43 【问题描述】:我使用 Fabric 应用而不是 cocoapods 安装了 Fabric 和 crashlytics 框架。 我需要对其进行更新以符合此错误和未来。
/Crashlytics.framework/Crashlytics(CrashlyticsPlaceholderStatic.o)' 不包含位码。您必须在启用位码的情况下重建它 (Xcode设置ENABLE_BITCODE),从 供应商,或禁用此目标的位码。用于架构 arm64
我已经read 表示更新将解决此问题。
谢谢!
【问题讨论】:
【参考方案1】:来自 Crashlytics 和 Fabric 的 Mike。
如果您更新到 Crashlytics 3.3.1 和 Fabric 1.5.1,则这些框架支持启用 Bitcode 的应用。发行说明here.
【讨论】:
嗨,迈克,我已经读过了。如何在不使用 cocoapods 的情况下更新我当前的 crashlytics 和 fabric?我以为我可以使用面料应用程序。谢谢! 如果你打开 Fabric.app,然后点击右上角的 kit-selector,应该有一个更新框架的选项。如果您没有看到,请尝试重新启动 Fabric.app。 这个答案没有解释如何更新。至于@MikeBonnell 的评论,我尝试通过上方“标签栏”右侧的工具包按钮更新工具包,但这种方法似乎需要能够构建应用程序。 是的,通过 Fabric.app 进行的更新发生在构建时。你也可以使用 CocoaPods。【参考方案2】:转到构建设置(目标),找到
“构建选项”下的“启用位码”键
将其值设置为 NO。
原因:ios9 在 Xcode 7 中有这个选项,默认情况下它设置为 YES(我猜)。因为,像 Crashlytics 这样的第三方框架不会针对启用位码的模式进行更新。所以,设置为 NO。
【讨论】:
目前,位码应用程序是可选的,但历史表明 Apple 将可选的东西变成了要求(如 64 位支持)。这通常需要几年时间,因此第三方开发人员(如 Parse)有时间进行更新。 ~杰弗里·托马斯【参考方案3】:添加到其他解决方案:
Fabric 没有识别出我的项目具有过时的 Crashlytics 版本。它将我的“已安装”版本列为 3.3.4,而实际上它是 v3.0.x。
我点击了 Crashlytics 上的“安装”,系统提示我重建项目。但由于启用了 Bitcode 并且我的 Crashlytics.framework 版本已过时,项目重建失败。
我禁用了 Bitcode,并成功构建,此时 Fabric 更新了我的 Crashlytics。此后,我能够重新打开 Bitcode 并继续使用 Crashlytics v3.3.4 成功构建
【讨论】:
【参考方案4】:我这样解决了这个问题:
-
构建设置 -> 构建选项 -> 启用位 = 否
构建应用程序
Fabric 通知我必须更新 Crashlytics 框架,所以我已经构建了应用来更新框架
构建设置 -> 构建选项 -> 启用位 = YES
现在一切正常。
【讨论】:
以上是关于如何更新 Fabric 和 Crashlytics?的主要内容,如果未能解决你的问题,请参考以下文章
iOS Fabric Crashlytics Answers Kit不收集数据
在 iOS 运行时禁用 crashlytics/Fabric
Fabric:“我们正在构建您的受众洞察。请更新到最新版本的 Crashlytics Kit..”
使用 Firebase/Crashlytics 更改 Fabric 和 Crashlytics pod 以上传缺少的必需 dSYM