45 votes

Application rejetée, mais je n'utilise pas UDID

Aujourd'hui nous avons reçu un retour d'information sur notre mémoire et nous ne comprenons pas le problème signalé: "les Applications ne sont pas autorisés à accéder à l'UDID et ne doit pas utiliser le type uniqueIdentifier méthode de UIDevice. Veuillez mettre à jour vos applications et de serveurs pour associer les utilisateurs avec le Vendeur ou la Publicité identificateurs introduit dans l'iOS 6.".

Nous savons au sujet des rejets sur udid, mais notre Application ne pas utiliser ce! Après avoir lu cela, notre équipe de réévaluation de l'Application et nous n'avons pas trouvé des occurrences de "UIDevice uniqueIdentifier". Nous avons également révisé tous bibliothèques utilisées, et vraiment nous ne trouvons pas un appel de UDID.

Quelqu'un a des idées?

Après recherche, j'ai exécuté "sais" commande et je suis soupçonnant pas sur 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 utilise uniqueIdentifier?? Quelle est la résolution?

86voto

scurioni Points 1160

Dans mon cas, il s'agissait de la bibliothèque ibGoogleAnalytics_debug.a.

Pour trouver quelle bibliothèque utilise la méthode uniqueidentifier, allez dans le dossier de votre projet et tapez:

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

J'ai eu ceci: le fichier binaire ./My_Project/libGoogleAnalytics_debug.a correspond

7voto

Elad Adi Vaknin Points 71

Résolu: Le problème, c'est que votre projet se réfèrent encore à l'ancien SDK et il compile le code avec votre ancien sdk méthodes, y compris l'UDID apple rejette.

Le fixer dans votre build propriétés de CHEMIN de RECHERCHE Cadre Des Chemins De Recherche Bibliothèque Des Chemins De Recherche

supprimer les valeurs telles que l'ancien sdk chemin et y mettre votre sdk chemin

nettoyer tous les fichiers du projet: Fenêtre->Organiseur>Projet - supprimer votre projet Produit->Nettoyer

Maintenant le reconstruire et de le renvoyer à apple.

Enjoy :)

5voto

Igor Points 1963

Vérifiez le binaire que vous avez généré avec la commande strings et recherchez uniqueIdentifier :

 $ strings YOUR_BINARY | grep uniqueIdentifier
 

Il est probable que vous allez le trouver ici.

J'ai trouvé qu'OpenSSL avait une chaîne uniqueIdentifier déclarée dans leurs en-têtes, il est donc probable que votre application (ou toute bibliothèque statique que vous fournissez avec votre application) l'ait incluse.

Dans mon cas, le coupable était libspotify .

3voto

roycable Points 193

J'ai eu le même problème, mais a été en mesure de cerner le fichier contenant uniqueIdentifier à l'aide de la commande suivante dans le terminal, dans mon dossier de projet.

grep -Rnis 'uniqueIdentifier' *

Cet écho suite d'une série de lignes dans ma fenêtre de terminal, avec le coupable d'être libGoogleAdModAds.un - même si je n'étais pas vraiment à l'utiliser dans mon code, il est encore référencée dans mon projet et, par conséquent, ajouté à la construire.

ma source est: http://www.commandlinefu.com/commands/view/3573/search-for-a-string-inside-all-files-in-the-current-directory

3voto

Tomasz Wojtkowiak Points 4136

Dans mon cas pour ce problème était responsable BugSense SDK (j'ai utilisé la version obsolète). Après la mise à niveau vers la dernière version (3.1.3), tout est ok.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X