13

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.

How does Apple know you are using private API?

Community
  • 1
  • 1
Mangesh
  • 2,171
  • 3
  • 21
  • 47

4 Answers4

6

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 in libGoogleAnalytics_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)

Pericles
  • 493
  • 7
  • 15
  • I don't have _debug library implemented but still getting auto-rejected – Jacek Kwiecień May 23 '13 at 14:09
  • doesn't matter if you have it implemented or not. If you have it inside the project, it gets compiled, it is contained in the binary and that leads to rejection. Remove it entirely from Project Navigator, clean and recompile. – Pericles May 24 '13 at 14:37
  • 1
    @Pericles I'm late to this party but if it helps anyone I got an update approved today (7/10/13). My last release was 4/1/13, before the new UDID rules. I'm using Google Analytics 2.0 Beta 4. I took your advise and deleted "libGoogleAnalytics_debug.a" from my project and I didn't have any issues with submission/approval. – kev Jul 10 '13 at 17:45
  • I found the issue, it was some other library. After R&D I have found that libGoogleAnalytics_debug.a contain private API call. – Mangesh Jul 24 '13 at 11:50
3

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!

Axeva
  • 4,277
  • 5
  • 36
  • 61
0

Please cross check whether Google analytic iOS SDK 2.0 using third party libraries or classes that contain UDIDs.

Shamsudheen TK
  • 28,767
  • 9
  • 64
  • 96
0

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.

Will
  • 2,830
  • 25
  • 42