2014-09-15 4 views
6

Gründe Programm Lizenzvereinbarung PLA 3.3.12iOS-App aufgrund IDFA in Facebook SDK abgelehnt

Wir haben Ihre App die iOS Advertising Identifier verwendet, aber nicht ad-Funktionalität umfassen. Dies entspricht nicht den Bedingungen der Lizenzvereinbarung für das iOS-Entwicklerprogramm, wie sie in den App Store-Überprüfungsrichtlinien vorgeschrieben ist.

Insbesondere Abschnitt 3.3.12 des iOS Developer Program-Lizenzvereinbarung heißt es:

„Sie und Ihre Anwendungen (und jeder Dritte, mit denen Sie zusammengezogen haben, Werbung zu dienen) können die Werbe-ID verwenden, und jede Informationen, die durch die Verwendung des Werbe-Identifizierers erhalten werden, nur für den Zweck der Werbung.Wenn ein Nutzer den Werbe-Identifizierer zurücksetzt, stimmen Sie zu, den vorherigen Werbe-Identifizierer weder direkt noch indirekt zu kombinieren, zu korrelieren, zu verknüpfen oder anderweitig zu assoziieren alle abgeleiteten Informationen mit dem Reset-Advertising Identifier. "

Bitte Code überprüfen - einschließlich aller Bibliotheken von Drittanbietern - alle Instanzen von entfernen:

Klasse: ASIdentifierManager
Selektor: advertisingIdentifier
Rahmen: AdSupport.framework

Wenn Sie planen, Wenn Sie Anzeigen in einer zukünftigen Version integrieren, entfernen Sie die Anzeigen-ID aus Ihrer App, bis Sie die Anzeigenfunktionalität hinzugefügt haben.

die Werbe-ID zu lokalisieren Um zu helfen, verwenden Sie das „nm“ Werkzeug. Öffnen Sie ein Terminalfenster und geben Sie "nm" ein.

Wenn Sie keinen Zugriff auf die Bibliotheksquelle haben, können Sie möglicherweise die kompilierte Binärdatei mithilfe der "Strings" durchsuchen. oder "otool" Kommandozeilen-Tools. Das "strings" -Tool listet die Methoden auf, die die Bibliothek aufruft, und "otool -ov" listet die Objective-C-Klassenstrukturen und ihre definierten Methoden auf. Mit diesen Techniken können Sie den problematischen Code eingrenzen.

Ich habe die IDFA durch folgenden Befehl verwendet:

grep -r advertisingIdentifier . 

Ich wusste, dass Facebook SDK (3.1.1 Version) diese verwendet.

Wie kann ich das lösen?

Antwort

1

Wenn Sie keine Möglichkeit finden, die Verwendung von IDFA aus dem Facebook SDK zu entfernen, können Sie mit der IDFA die Installation einer zuvor bereitgestellten Anzeige zuordnen (was eigentlich ziemlich einfach ist) im Facebook SDK aktivieren).

Diese Option sollten Sie zur Verfügung, wenn ein Neubau in iTunesConnect zu schaffen, wenn ich mich richtig erinnere.

0

Dieses Problem wurde von Facebook in ihren neuesten Versionen behoben. Aktualisieren Sie Ihre Facebook Sdk auf die neueste Version und das wird Ihr Problem lösen.

+1

Wie ist das? Ich habe die neueste Version und leiden immer noch :( –

+0

Ich benutze FacebookSDK 4.1.0 und meine App wurde abgelehnt, ich verwende FBSDKAppEvents, die IDFA-Nutzung benötigen wie https://developers.facebook.com/docs/ios/troubleshooting# idfa ... Ich bin noch dabei, eine Lösung zu finden, möglicherweise werde ich FB Tracking entfernen – anoop4real

4

Die Lösung für mich war, dass die Facebook 3.20 SDK zwar in Ordnung, aber ich hatte den FBAudience Rahmen, den sie mit dem FacebookSDK.framework gehört zu entfernen.

Einmal entfernte ich den FBAudience Rahmen und lief

otool -L myAppName.app/myAppName 

ich sah nicht mehr die AdSupport Bibliothek in meinem Build gebündelt, in dem Terminal gedruckt wie so:

/System/Library/Frameworks/AdSupport.framework/AdSupport