在我的应用程序中更新了Fabric Crashlytics后,我再也无法在我的iOS设备上运行它了。在模拟器上它工作正常。错误是:
架构arm64的未定义符号:“_ gzopen”,引用自: - [CLSPackageReportOperation compressFile:]在Crashlytics(CLSPackageReportOperation.o)“_ gzwrite”中,引自:___ 42- [CLSPackageReportOperation compressFile:] _ block_invoke in Crashlytics(CLSPackageReportOperation.o)“_gzclose “,引自: - Crashlytics中的[CLSPackageReportOperation compressFile:](CLSPackageReportOperation.o)ld:未找到架构arm64 clang的符号:错误:链接器命令失败,退出代码为1(使用-v查看调用)
Crashlytics和Fabric要求您将目标与以下内容相关联:
只需选择目标 - >构建阶段 - >使用库链接二进制 - >添加缺少的目标。
我希望它有所帮助。
我通过在构建设置中将$(inherited)
添加到其他链接器标志来解决了这个问题。
解决了。我删除了Crashlytics.framework并重新安装。
对我来说,解决方案是Build Phases - Link Binary With Libraries添加libc ++并在我的遗留项目中工作。
在这里扩展Ricardo's answer。选择“Build Phases”选项卡,单击“Link Binary With Libraries”旁边的“+”并添加 -
根据谷歌,开发人员应该使用Crashlytics via Firebase。从Firebase v5.16.0和Fabric v1.9.0(Xcode 10.1)开始,这对我有用。
在Project(非目标)Info选项卡中,将配置文件设置为none,然后再次运行pod install
我通过添加$(继承)$(OTHER_LDFLAGS)-ObjC -l“sqlite3”-l“z”-l“c ++”-framework“Crashlytics”-framework“Fabric”-framework“Security”-framework“SystemConfiguration”解决了这个问题“-framework”UIKit“到Build Settings中的其他链接器标志。