ff1*_*f10 12 linker google-analytics ios cocoapods xcode5
我使用最新的cocoapods版本集成了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)
Run Code Online (Sandbox Code Playgroud)
由于它在Debug中工作,我试图弄清楚Debug和Release之间的配置差异在哪里.我发现Release中的Other链接器标志是空的,而Debug中包含GoogleAnalytics和其他框架和库的标志.
将标志添加到我获得的其他链接器标志的释放配置之后
library not found for -lGoogleAnalyticsServices
Run Code Online (Sandbox Code Playgroud)
之后,我添加了libPods,然后将libPods-GoogleAnalytics添加到Link Binary With Libraries部分,但错误保持不变.
我在这个问题上投入了差不多2天,但我找不到任何解决方案.
经过一些小小的尝试后,我找到了解决方案,不是添加cocoa pods生成的库(libPods-GoogleAnalytics),而是直接将libGoogleAnalyticsServices链接到我的主项目.尽管如此,我认为这不是最优雅的解决方案,因为链接器应该知道他丢失的符号已经可用,如cocoapods所提供的.
| 归档时间: |
|
| 查看次数: |
3916 次 |
| 最近记录: |