56

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

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

他们可能忘记包含我需要添加的库吗?(他们也忘记更改说明的其他一些方面)。否则按照他们的指示去发球台,但仍然没有得到所需的结果。

4

6 回答 6

147

我必须将两者都添加libz.dylibAdSupport.framework构建阶段以使其消失。谷歌没有在他们的说明中包含这些内容,所以要与他们核实以确保这没问题,然后会更新这篇文章。

更新:现在您还需要添加libsqlite3.0.dylib才能使其工作。

于 2013-08-18T07:30:02.413 回答
24

我在 2014 年 4 月上旬下载了 iOS 版 Google Analytics Services 3.06 版,但仍然遇到了上面提到的问题。谷歌更新他们的文档,提到需要链接 libz.dylib 和 AdSupport.framework。

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

于 2014-04-13T02:59:45.200 回答
22

添加

libz.dylib

AdSupport.framework

libsqlite3.0.dylib

截至 2013 年 10 月 8 日,谷歌没有更新他们的指南。

谷歌分析指南在这里

于 2013-10-08T14:21:25.757 回答
10

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

libz.dylib

libsqlite3.0.dylib

libGoogleAnalyticsServices.a

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

希望这可以帮助!

于 2014-10-28T23:49:01.410 回答
1

我有libz.dylib,并且AdSupport.framework按照谷歌的指示,它运行良好。

然后我不得不为-all_load其他一些库依赖项添加其他链接器标志,然后谷歌分析开始失败并出现链接器错误。

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

所以与-all_load链接器标志有关

于 2014-11-06T16:02:05.430 回答
1

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

在此处输入图像描述

于 2015-09-28T12:46:15.563 回答