4

I recently had an app rejected because of reason - Non-public API usage: Apps are not permitted to access the UDID and must not use the uniqueIdentifier method of UIDevice. Please update your apps and servers to associate users with the Vendor or Advertising identifiers introduced in iOS 6.

I have used google analytics iOS v2 in this app, is it causing this problem?

Kara
  • 6,115
  • 16
  • 50
  • 57
Richa
  • 544
  • 1
  • 8
  • 15

6 Answers6

4

My app was rejected due to the new UDID polices too. In my case, I'm using AdMob and the steps to fix this problem was:

  • Update AdMob to the latest version (Google warned me that my app would be rejected if I would try to submit it after 1st May).

  • Go to Xcode > Organizer > Projects > YourProject > Delete (Derived Data).

  • Product > Clean.

After these steps I submitted my app and now is Waiting to Review (before these steps Apple rejected my app at the moment after Upload Received).

Hope it helps!

jjordan
  • 183
  • 2
  • 6
2

And, another thing, if in your code you are using

[UIDevice currentDevice].uniqueIdentifier;

you must chenge to

// Get UUID value
NSUUID  *uuid = [NSUUID UUID];

// Convert UUID to string and output result
NSLog(@"UUID: %@", [uuid UUIDString]);

The output looks something like this:

UUID: A84AFC3C-B3A7-31C7-B3E9-234AF423C6B1
cesarak
  • 116
  • 5
  • No, I didn't use [UIDevice currentDevice].uniqueIdentifier; method externally in my code. May be it is written somewhere in static library I used in project. – Richa May 11 '13 at 05:58
2

To find out what's using the method in question, use terminal and cd to the project's root directory and run the following command;

find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier

This will then tell you what's using it. Update and or remove your code and or any libraries that's using it.

skram
  • 5,314
  • 1
  • 22
  • 26
1

I had the same problem... I removed the library that was giving the problem, in my case adMob library. But pay attention to check even inside the folder you do not have any more the old library, that was my problem. Good luck

Mitch1972
  • 69
  • 2
  • 9
0

For Google Analytics SDK 2.0b4 and UDID reference, just remove libGoogleAnalytics_debug.a entirely from project, clean, recompile and submit again.

Pericles
  • 493
  • 7
  • 15
0

You need to replace

[[UIDevice currentDevice] uniqueIdentifier] 

with other method. please refer this url it's working for me.

Yogesh Suthar
  • 30,424
  • 18
  • 72
  • 100
Hitesh Vaghela
  • 1,635
  • 1
  • 11
  • 11