谷歌分析3.08 IOS idfa类缺失,不会收集idfa

时间:2014-07-25 11:51:09

标签: ios objective-c logging google-analytics console

我下载了谷歌分析,我按照他们的指示如何在应用程序中实施分析。但无论我尝试了什么,我都可以登录xcode:idfa class missing, won't collect idfa

Screenshot for console message

所以我谷歌它发现苹果会拒绝有此警告的应用程序。我还发现谷歌修复了3.03c版本的这个问题,而且我们不必导入使用广告的库。我也运行了他们的例子,我在他们的例子中得到了相同的日志。

所以我的问题是,Apple会批准我的申请,我该如何解决?

enter image description here

enter image description here

10 个答案:

答案 0 :(得分:20)

我有同样的问题。它接缝3.08 lib与iAd.Framework链接 这就是我所做的 - 我已回滚到3.03c版本。您可以在这里下载 " https://dl.google.com/googleanalyticsservices/GoogleAnalyticsServicesiOS_3.03c.zip

最好的方法是使用Cocopoads来管理pod 'GoogleAnalytics-iOS-SDK', '3.0.3c'

的图书馆

答案 1 :(得分:18)

我正在使用3.0.9。我可以通过链接libAdIdAccess.a库提供的GoogleAnalytics SDKAdSupport.framework来删除警告。

答案 2 :(得分:17)

我使用的是3.0.9版本,为了消除此警告,我必须手动链接库libAdIdAccess.aAdSupport.framework

为此,只需在构建设置Other Linker Flags(OTHER_LDFLAGS)中添加以下行:

  

-framework AdSupport

     

-force_load" $ {PODS_ROOT} /GoogleAnalytics-iOS-SDK/libAdIdAccess.a"

应该如下所示: enter image description here

链接:Official Documentation

答案 3 :(得分:2)

仅供完整的其他回复。我使用的是Google Analytics SDK v3.09,我在Xcode 6中没有使用CocoaPod。 为了删除警告,我只是通过拖放将libAdIdAccess.a静态库添加到我的项目中。

AdSupport.framework已包含在我的项目中。

注意:我不知道为什么,但有时候,Xcode被误认为通过这种方式添加新库的路径会导致链接错误。在这种情况下,只需修改“构建设置”中“库搜索路径”选项中的路径:将$(PROJECT_DIR)/YourDirectory/GoogleAnalyticsLibrary-3.09替换为"$(SRCROOT)/YourDirectory/GoogleAnalyticsLibrary-3.09"

答案 4 :(得分:1)

我正在使用v3.08并获得相同的警告。我刚刚提交了我的应用程序,它已被Apple批准。我认为他们知道这个问题,但在我的情况下没有强制执行。您可以提交您的应用并在提交和决定之间花时间删除3.08并返回3.03c以防万一他们拒绝它。

答案 5 :(得分:1)

  

GoogleAnalytics-iOS-SDK已被弃用   Google分析

所以只需将pod文件中的行替换为

即可
 pod 'GoogleAnalytics'

答案 6 :(得分:0)

您所要做的就是将libAdIdAccess.a添加到您的项目中。它是GoogleAnalyticsServicesiOS_3.09投放的一部分。

答案 7 :(得分:0)

pod' GoogleIDFASupport'

这将让cocoapods得到你需要的东西。我也不必做它的force_load。

安装GoogleIDFASupport(3.14.0) 使用GoogleTagManager(3.15.0)

答案 8 :(得分:0)

我正在使用3.0.3c而不使用IDFA。

但是,“idfa class missing”仍然记录在案。

GAI.sharedInstance().logger.logLevel = GAILogLevel.Verbose

我尝试删除上面的行来解决问题。

答案 9 :(得分:-3)

我正在使用3.0.9。根据Google文档,您需要在每个跟踪器上将tracker.allowIDFACollection设置为NO。

id<GAITracker> tracker = [[GAI sharedInstance] defaultTracker];
tracker.allowIDFACollection = NO;

这将删除警告。