Today we received a feedback about our submission and we do not understand the reported problem: "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.".
We know about the rejections about udid, but our App do not use this! After read this, our team reevaluated the App and we do not found occurrences from "UIDevice uniqueIdentifier". We also revised all used libraries and really we do not find any call from UDID.
Someone have ideas?
After research, I executed "greap" command and I am suspecting about FacebookSDK:
my-app-directory $ grep -Rnis 'uniqueIdentifier' * Binary file MyApp/FacebookSDK.framework/FacebookSDK matches Binary file MyApp/FacebookSDK.framework/Versions/A/FacebookSDK matches Binary file MyApp/FacebookSDK.framework/Versions/Current/FacebookSDK matches Binary file MyApp/MyApp.xcodeproj/project.xcworkspace/xcuserdata/myuser.xcuserdatad/UserInterfaceState.xcuserstate matches
FacebookSDK uses uniqueIdentifier?? Whats the resolution?
As per Apple, bugs and unfinished or undercooked apps with broken functionality and hyperlinks, inaccurate or misleading information are the top reason for app rejection, contributing to over a fifth of total rejections.
The Apple or Android Play store will reject your app if it crashes or has severe faults during the review process. The App Review process will be thorough. Your app will be put through a series of stress and performance tests in order to break it.
To avoid rejection, make sure that your privacy policy is easily accessible both within your app and app page in the App Store. It should explain how you use the specific data that you collect: how it's stored, and whether or not you share it with other third-party entities.
In My case it was ibGoogleAnalytics_debug.a library.
To find which library is using uniqueidentifier method, go to your project folder and type in:
$ find . | grep -v .svn | grep "\.a" | grep -v "\.app" | xargs grep uniqueIdentifier
I got this: Binary file ./My_Project/libGoogleAnalytics_debug.a matches
Solved it: The problem is that your project still refer to the old SDK and it compiles the code with your old sdk methods including the UDID which apple rejects.
Fix it in your build properties of SEARCH PATH Framework Search Paths Library Search Paths
remove unnecessary values such as old sdk path and put there your current sdk path
clean all project's files: Window->Organizer->Project - delete your project Product->Clean
Now rebuild it and resubmit it to apple.
Enjoy :)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With