Google analytics 3.08 IOS idfa class missing, won't collect idfa

余生长醉 提交于 2020-01-19 07:13:28

问题


I downloaded google analytics and i followed their instructions how to implement analytics in application. But whatever i tried i get this log in xcode: idfa class missing, won't collect idfa.

So i google it and found that apple will reject apps that have this warning. I also discovered that google fixed this issue with 3.03c release, and that we don't have to import library that uses ads. I have also run their example and i get same log in their example.

So my question is, will Apple approve my application, how can I fix it?


回答1:


I have the same issue. It seams that 3.08 lib is linked with iAd.Framework Here is what I did - I've rolled back to the version 3.03c. You can download it here "https://dl.google.com/googleanalyticsservices/GoogleAnalyticsServicesiOS_3.03c.zip

The best way is to use Cocopoads for managing libraries with pod 'GoogleAnalytics-iOS-SDK', '3.0.3c'




回答2:


I am using 3.0.9. I was able to remove the warning by linking in the libAdIdAccess.a library provided with the GoogleAnalytics SDK and the AdSupport.framework.




回答3:


I am using the version 3.0.9 and to get rid of this warning I had to link the library libAdIdAccess.a and the AdSupport.framework manually.

To do so simply add the following lines into your build settings Other Linker Flags (OTHER_LDFLAGS) :

-framework AdSupport

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

It should look like this:

Link: Official Documentation




回答4:


Just for complete other responses. I'm using the Google Analytics SDK v3.09 which I integrated without CocoaPod within Xcode 6. In order to remove the warning, I simply added the libAdIdAccess.a static library to my project by a drag and drop.

AdSupport.framework was already included in my project.

Note: I don't know why but sometimes, Xcode is mistaken for path adding an new library by this way what is resulting into a link error. In this case just modify the path in the Library Search Path option from the Build Settings : replace $(PROJECT_DIR)/YourDirectory/GoogleAnalyticsLibrary-3.09 by "$(SRCROOT)/YourDirectory/GoogleAnalyticsLibrary-3.09"




回答5:


I'm using v3.08 and get the same warning. I just submitted my app and it was approved by Apple. I think they are aware of the issue but did not enforce it in my case. You can submit your app and take the time between submission and decision to remove 3.08 and go back to 3.03c just in case they reject it.




回答6:


GoogleAnalytics-iOS-SDK has been deprecated in favor of GoogleAnalytics

so just replace the line in your pod file to

 pod 'GoogleAnalytics'



回答7:


All you have to do is to add libAdIdAccess.a to your project. It is part of GoogleAnalyticsServicesiOS_3.09 delivery.




回答8:


pod 'GoogleIDFASupport'

That will let cocoapods get what you need. I havent had to do the force_load of it either.

Installing GoogleIDFASupport (3.14.0) Using GoogleTagManager (3.15.0)




回答9:


I'm using 3.0.3c and not using IDFA,.

Howerer, "idfa class missing" is still logged.

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

I solved the problem by trying to delete the line above.




回答10:


I am using 3.0.9. Per Google documentation you need to set tracker.allowIDFACollection to NO on each tracker.

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

This will remove the warning.



来源:https://stackoverflow.com/questions/24955138/google-analytics-3-08-ios-idfa-class-missing-wont-collect-idfa

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!