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

前端之家收集整理的这篇文章主要介绍了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所提供的.

猜你在找的iOS相关文章