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?
And, another thing, if in your code you are using
you must chenge to
The output looks something like this:
You need to replace
with other method. please refer this url it's working for me.
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
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!
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.
For Google Analytics SDK 2.0b4 and UDID reference, just remove
libGoogleAnalytics_debug.a
entirely from project, clean, recompile and submit again.