2013-05-10 6 views
15

Per favore, aiutami a risolvere questo problema di seguito menzionato ottenere dal negozio di applicazioniApps non sono autorizzati ad accedere al UDID e non devono utilizzare il metodo uniqueIdentifier di UIDevice

Apps non sono autorizzati ad accedere al UDID e non utilizzare il metodo uniqueIdentifier di UIDevice. Aggiorna le tue app e i server per associare gli utenti agli identificatori del fornitore o della pubblicità introdotti in iOS 6. Se i nomi dei metodi nel codice sorgente corrispondono alle API Apple private elencate sopra, la modifica dei nomi dei metodi aiuterà a impedire a questa app di essere segnalato in futuro. Nell'aggiunta , si noti che una o più delle API precedenti potrebbero trovarsi in una libreria statica inclusa con la propria app. In tal caso, devono essere rimossi .

Se pensi che questo messaggio è stato inviato per errore e che avete solo utilizzate le API di Apple-pubblicati in conformità con le linee guida, inviare il dell'applicazione nove cifre ID Apple, insieme a informazioni dettagliate sul perché si ritiene che la le API di cui sopra sono state contrassegnate erroneamente, a [email protected] Per ulteriori informazioni, visitare la pagina delle informazioni sull'assistenza tecnica .

Una volta risolti questi problemi, andare alla pagina Dettagli versione e fare clic su "Pronto per caricare file binari". Continuare attraverso la procedura di invio finché lo stato dell'app non è "In attesa del caricamento". Puoi quindi consegnare il file binario corretto.

risposta

0

Ho appena ricevuto la stessa e-mail dopo aver inviato la nostra app Tinyview all'Apple App Store. Non usiamo direttamente l'UDID ma è possibile che vi si acceda da una libreria che includiamo, ad es. Statistiche di Google.

41

trovare la classe che utilizzano il UDID da

(dal terminale nella cartella del progetto)

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

trovare le classi che usano UDID poi sostituirlo e utilizzare UUID o sostituirlo con una nuova classe se si utilizzano classi esterne

+0

Suggerimento molto bello ... –

+0

brillante. Grazie. –

+1

È utile per me. Ho usato la vecchia Flurry Analytics e questo è il motivo per cui ho ricevuto lo stesso errore. Usando questa riga di comando aggiorno il mio Flurry SDK e risolve il mio problema e risparmia il mio tempo.Grazie – Harin

4

Use of the device's uniqueidentifier property in apps was deprecated in iOS 5.0 un d vietato nelle app iOS 6 a partire dal 1 ° maggio 2013. Invece, puoi use the identifierForVendor property available in iOS 6.0. Apple ha cambiato l'API per risolvere i problemi di privacy.

+0

possiamo inviare notifica push usando identifierForVendor? – Babul

+0

Sì. APNS richiede semplicemente un token dispositivo. Questo è stato storicamente l'UDID ma [può in effetti essere un qualsiasi valore binario adatto.] (Http://stackoverflow.com/questions/15561450/ios-6-use-of-udids-for-push-notifications-forbidden) –

4

Il mio problema con questo era dovuto alla libreria adMob. È stato corretto in AdMob SDK 6.4.2. Da Google:

L'SDK AdMob per iOS utilizza l'ID pubblicità Apple (IDFA). L'SDK utilizza IDFA in base alle linee guida stabilite nel contratto di licenza del programma dello sviluppatore iOS . Gli sviluppatori devono accertarsi che siano conformi alla norma con le politiche del contratto di licenza del programma per sviluppatori iOS che disciplinano l'uso di questo identificatore.

+0

Grazie! questo ha risolto il mio problema! – rosaMerino

1

Ho riscontrato anche questo problema. Il mio progetto è stato costruito utilizzando Unity 3.5.4 e utilizzando 3 diversi plugin.

Ho creato un progetto iOS vuoto utilizzando unity 3.5.4, progetto xCode, tentativo di convalida: fail. Quindi ho creato il progetto xCode utilizzando 3.5.7 e la convalida è andata a buon fine.

Quel progetto vuoto non aveva plugin in esso quindi non è colpa di alcun plugin.

Uno dei miei plugin ha funzionato solo con Uniyt 3.5.4, quindi ora sto cercando di ottenere una versione aggiornata di quel plug-in che funziona con 3.5.7 per inviare l'app.

1

Admob e ShareKit + Facebook erano entrambi il colpevole per me.

+0

e quindi come hai affrontato il problema? hai aggiornato la tua intera libreria di condivisioni o hai appena sostituito la dipendenza da Facebook? – abbood

0

Se utilizzi HockeyApp, ricorda di rimuovere il codice che controlla se l'app deve essere aggiornata, utilizza l'UDID predefinito.

Ancora meglio racchiuderlo in alcune direttive del preprocessore in modo che sia incluso nelle build ad hoc, ma non nelle build di produzione.

Problemi correlati