尝试安装新的Google Analytics 3.0 Beta时,链接器出错

时间:2013-08-17 07:09:49

标签: ios google-analytics google-analytics-api

我相信就在今天,谷歌发布了他们的iOS Analytics框架工作(3.0版)的新更新。当我按照说明操作并尝试运行代码时,我得到:

  

架构armv7的未定义符号:“_inflate”,引用   从:         libGoogleAnalyticsServices.a(NSData + zlib.o)中的l002“_deflate”,引自:         libGoogleAnalyticsServices.a(NSData + zlib.o)中的l001“ inflateInit2 ”,引自:         libGoogleAnalyticsServices.a(NSData + zlib.o)中的l002“_deflateEnd”,引自:         libGoogleAnalyticsServices.a(NSData + zlib.o)中的l001“_OBJC_CLASS _ $ _ ASIdentifierManager”,引自:         libGoogleAnalyticsServices.a中的objc-class-ref(TAGAdvertiserId.o)         libGoogleAnalyticsServices.a中的objc-class-ref(TAGAdvertisingTrackingEnabledMacro.o)         libGoogleAnalyticsServices.a中的objc-class-ref(TAGMobileAdwordsUniqueIdMacro.o)
  “_inflateEnd”,引自:         l002在libGoogleAnalyticsServices.a(NSData + zlib.o)“_SCNetworkReachabilityCreateWithName”中,引自:         libGoogleAnalyticsServices.a中的l027(GAIReachabilityChecker.o)         libGoogleAnalyticsServices.a(TAGNetReachability.o)​​中的l002“_SCNetworkReachabilitySetCallback”,引自:         libGoogleAnalyticsServices.a中的l027(GAIReachabilityChecker.o)         libGoogleAnalyticsServices.a中的l002(TAGNetReachability.o)         l003在libGoogleAnalyticsServices.a(TAGNetReachability.o)​​“ deflateInit2 ”中,引自:         libGoogleAnalyticsServices.a(NSData + zlib.o)中的l001“_SCNetworkReachabilityScheduleWithRunLoop”,引自:         libGoogleAnalyticsServices.a中的l027(GAIReachabilityChecker.o)         l002在libGoogleAnalyticsServices.a(TAGNetReachability.o)​​“_SCNetworkReachabilityUnscheduleFromRunLoop”中,引自:         libGoogleAnalyticsServices.a中的l027(GAIReachabilityChecker.o)         l003在libGoogleAnalyticsServices.a(TAGNetReachability.o)​​ld:找不到架构armv7 clang的符号:错误:链接器   命令失败,退出代码为1(使用-v查看调用)

可能他们忘了包含我需要添加的lib吗? (他们忘记改变指令的其他一些方面)。否则他们已经按照他们的指示去了发球台,仍然没有得到所需的结果。

6 个答案:

答案 0 :(得分:146)

我必须在构建阶段添加libz.dylibAdSupport.framework才能使其消失。 Google不会在他们的说明中包含这些内容,因此请与他们核对以确保此操作正常,然后将更新此帖子。

更新:现在您还需要添加libsqlite3.0.dylib才能让它发挥作用。

答案 1 :(得分:24)

我于2014年4月初下载了适用于iOS的Google Analytics Services 3.06版本,而STILL遇到了上述问题。 Google 更新了他们的文档,提到需要链接libz.dylib和AdSupport.framework。

解决方案:我通过反复试验发现,我还需要链接 libsqlite3.dylib ,以便在模拟器或设备上构建。

答案 2 :(得分:22)

添加

libz.dylib

AdSupport.framework

libsqlite3.0.dylib

Google自2013年10月8日起未更新其指南。

Google Analytics指南为here

答案 3 :(得分:10)

以上解决方案均不适合我。然而,对我有用的是添加这些:

libz.dylib

libsqlite3.0.dylib

libGoogleAnalyticsServices.a

libGoogleAnalyticsServices.a是一个可以在Google Analytics for Mobile Apps iOS SDK v3下载中找到的文件。

希望这有帮助!

答案 4 :(得分:1)

根据Google的说明,我有libz.dylibAdSupport.framework,它运行良好。

然后我必须在其他链接器标志中添加-all_load以获得其他一些库依赖项,然后谷歌分析开始使用链接器错误进行构建失败。

我必须添加libsqlite3.0.dylib框架才能让它发挥作用。

因此与-all_load链接器标志

有关

答案 5 :(得分:1)

直到第三方开发人员不为其旧库启用BITCODE,如果您不打算为您的应用程序使用Apple Watch扩展,则可以在您自己的项目中禁用位代码。

enter image description here