我下载了谷歌分析,我按照他们的指示如何在应用程序中实施分析。但无论我尝试了什么,我都可以登录xcode:idfa class missing, won't collect idfa
。
所以我谷歌它发现苹果会拒绝有此警告的应用程序。我还发现谷歌修复了3.03c版本的这个问题,而且我们不必导入使用广告的库。我也运行了他们的例子,我在他们的例子中得到了相同的日志。
所以我的问题是,Apple会批准我的申请,我该如何解决?
答案 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 SDK
和AdSupport.framework
来删除警告。
答案 2 :(得分:17)
我使用的是3.0.9
版本,为了消除此警告,我必须手动链接库libAdIdAccess.a
和AdSupport.framework
。
为此,只需在构建设置Other Linker Flags
(OTHER_LDFLAGS)中添加以下行:
-framework AdSupport
-force_load" $ {PODS_ROOT} /GoogleAnalytics-iOS-SDK/libAdIdAccess.a"
应该如下所示:
答案 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;
这将删除警告。