Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

App rejected, but I don't use UDID

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?

like image 345
Tiago Avatar asked May 07 '13 01:05

Tiago


People also ask

Why does Apple keep rejecting my app?

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.

Why do apps get rejected?

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.

How do I stop app Store rejection?

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.


2 Answers

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

like image 105
scurioni Avatar answered Sep 19 '22 07:09

scurioni


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 :)

like image 25
Elad Adi Vaknin Avatar answered Sep 20 '22 07:09

Elad Adi Vaknin