2014-09-15 17 views
6

Motivi License Program accordo PLA 3.3.12iOS rifiutato a causa di IDFA a Facebook SDK

Abbiamo trovato la vostra applicazione utilizza l'identificativo pubblicitario iOS ma non include la funzionalità degli annunci. Ciò non è conforme ai termini del Contratto di licenza del Programma per gli sviluppatori iOS, come richiesto dalle Linee guida per la revisione dell'App Store.

In particolare, la sezione 3.3.12 dell'accordo Developer Program License iOS afferma:

"Tu e le applicazioni (e terzi con i quali si hanno contratto per perseguire scopi pubblicitari) può utilizzare l'Advertising Identifier, e qualsiasi informazioni ottenute tramite l'uso dell'identificatore pubblicitario, solo allo scopo di servire pubblicità.Se un utente reimposta l'identificatore pubblicitario, l'utente accetta di non combinare, correlare, collegare o associare in altro modo, direttamente o indirettamente, l'identificatore pubblicitario precedente e qualsiasi informazione derivata con l'identificatore pubblicitario resettato. "

Si prega di controllare il codice - comprese le eventuali librerie di terze parti - per rimuovere tutte le istanze di:

classe: ASIdentifierManager
selettore: advertisingIdentifier
quadro: AdSupport.framework

Se avete intenzione di incorporare gli annunci in una versione futura, rimuovi l'identificatore pubblicitario dalla tua app fino a quando non avrai incluso la funzionalità dell'annuncio.

Per individuare l'identificatore pubblicitario, utilizzare lo strumento "nm". Per informazioni sullo strumento "nm", aprire una finestra di terminale e immettere "man nm."

Se non si ha accesso all'origine delle librerie, è possibile cercare il binario compilato utilizzando le "stringhe". o "otool" strumenti da riga di comando. Lo strumento "stringhe" elenca i metodi che la libreria chiama e "otool -ov" elencherà le strutture della classe Objective-C ei loro metodi definiti. Queste tecniche possono aiutarti a restringere il punto in cui risiede il codice problematico.

ho controllato che usa IDFA tramite seguente comando:

grep -r advertisingIdentifier . 

sapevo che Facebook SDK (3.1.1 versione) utilizza questo.

Come posso risolvere questo?

risposta

1

Se non si trova il modo di rimuovere l'utilizzo di IDFA dall'SDK di Facebook, un'altra soluzione sarebbe dire che si sta utilizzando l'IDFA per attribuire l'installazione a un annuncio precedentemente pubblicato (che in realtà è abbastanza semplice abilitare nell'SDK di Facebook).

Questa opzione dovrebbe essere disponibile quando si crea una nuova build in iTunesConnect se non ricordo male.

0

Questo problema è stato risolto da Facebook nelle versioni più recenti. Aggiorna il tuo SDK di Facebook alla versione più recente e questo risolverà il tuo problema.

+1

Come è che? Ho l'ultima versione e sto ancora soffrendo :( –

+0

Sto usando FacebookSDK 4.1.0 e la mia app è stata respinta, sto usando FBSDKAppEvents che richiedono l'utilizzo di IDFA come da https://developers.facebook.com/docs/ios/troubleshooting# idfa ... Devo ancora trovare una soluzione, potrebbe rimuovere il tracking FB – anoop4real

4

La soluzione per me era che l'SDK di Facebook 3.20 è effettivamente ok, ma ho dovuto rimuovere il framework FBAudience che includono con il file FacebookSDK.framework.

Una volta rimosso il quadro FBAudience, e corse

otool -L myAppName.app/myAppName 

io non vedeva più la libreria AdSupport in dotazione nel mio accumulo, stampato nel terminale in questo modo:

/System/Library/Frameworks/AdSupport.framework/AdSupport 
Problemi correlati