I am using latest Google analytic iOS SDK 2.0 in my Project and app get rejection in few minute saying invalid binary. I received a email from apple review team that "Apps are not permitted to access the UDID and must not use the uniqueIdentifier method of UIDevice:". I searched all the app with terminal command and manualy as well for UDID. I upload app without Google Analytic and it get approval in 6 days, But with Google analytic it get rejection. Please share more details on the same.
I have searched
App rejected, but I don't use UDID
After R&D and below Answer's I found that Apple suggest. otool & nm tool for checking private API, But I am unable to check for UDID.
Unfortunately, the only available SDK at the moment (16/05/2013) is 2.0beta4. It appears that since 9/05/2013, Apple is automatically rejecting all apps with reference to uniqueIdentifier and this includes Google Analytics SDK.
Trouble with the 2.0beta4 (and definitely earlier versions) is in
libGoogleAnalytics.a
and nowhere else where the code is open and modifiable.EDIT
It appears that the UDID reference is NOT in
libGoogleAnalytics.a
but inlibGoogleAnalytics_debug.a
Removing it entirely from the XCode project (and delete the file from the filesystem just to be sure) does not auto-reject the app. (The catch is that without it you will not be able to debug).
(Tested this on 20/05/2013)
Please verify that you are using the very latest version of the Google Analytics SDK. I believe it's v2.0 beta 4:
https://developers.google.com/analytics/devguides/collection/ios/resources
According to Neil Rhodes, a Google Engineer, the SDK does not use UDID for tracking:
https://productforums.google.com/forum/#!searchin/analytics/UDID/analytics/6_Mh2wL593s/pVkcr0lUQY4J
If you are sure you have the latest Google Analytics SDK, and are still being rejected by Apple, contact them through the iTunes Connect web site and ask for assistance.
Good luck!
I have not used google analytic but I have used testflight. When developing they use the UDID so that when you are testing/developing you can see what is happening on whos device and see the crashes they have. When you deploy the production version you are told to take the UDID out so that apple does not reject it.
You might need to check the documentation for something similar to this.
Please cross check whether Google analytic iOS SDK 2.0 using third party libraries or classes that contain UDIDs.