问题
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