微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ios – 存档由于Google Analytics(分析)的未定义符号而失败

我已经使用最新的Cocapods版本集成了GAI.

当我在Debug配置中构建一切都运行正常.
但是,一旦我尝试归档应用程序,编译器将失败并显示以下消息:

Undefined symbols for architecture armv7:
  "_OBJC_CLASS_$_GAIDictionaryBuilder",referenced from:
      objc-class-ref in libWLCore.a(WLTrackingHelper.o)
  "_OBJC_CLASS_$_GAI",referenced from:
      objc-class-ref in libWLCore.a(WLTrackingHelper.o)
  "_kGAIScreenName",referenced from:
      +[WLTrackingHelper trackView:] in libWLCore.a(WLTrackingHelper.o)
      +[WLTrackingHelper resetView] in libWLCore.a(WLTrackingHelper.o)
  "_kGAIAnonymizeIp",referenced from:
      +[WLTrackingHelper prepareDefaultTracker:withAnonymization:withUnCaughtExceptions:withDebug:] in libWLCore.a(WLTrackingHelper.o)
ld: symbol(s) not found for architecture armv7
clang: error: linker command Failed with exit code 1 (use -v to see invocation)

由于它在Debug中起作用,所以我试图找出Debug和Release之间配置的区别在哪里.
我发现Release中的其他链接器标志是空的,而在Debug中包含GoogleAnalytics和其他框架和库的标志.

将标志添加到我发现的其他链接器标志的发布配置

library not found for -lGoogleAnalyticsServices

之后,我添加了libPods,然后将libPods-GoogleAnalytics添加到“链接二进制库”部分,但错误仍然保持不变.

我投资了近两天的时间,但我找不到任何解决方案.

解决方法

经过一些琐事之后,我发现解决方案不包括可可荚(libPods-GoogleAnalytics)生成的库,而是直接将libGoogleAnalyticsServices链接到我的主项目.尽管如此,我认为这不是最优雅的解决方案,因为链接器应该知道他已经缺少的符号已经可用了,如Cocapods所提供的.

原文地址:https://www.jb51.cc/iOS/335995.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐