Release-Fehler von iOS 10 GM beim Senden von Apps "App versucht, auf datenschutzrelevante Daten ohne Verwendungsbeschreibung zuzugreifen" aufgrund von GoogleSignIn, AdMob

79

Ich habe gerade angefangen, dieses Problem mit der iOS 10 GM-Version zu lösen. Ich erhielt eine E-Mail mit den Worten:

Um Ihre Lieferung zu verarbeiten, müssen die folgenden Probleme behoben werden:

Diese App versucht, auf datenschutzrelevante Daten ohne Verwendungsbeschreibung zuzugreifen. Die Info.plist der App muss einen NSCameraUsageDescription-Schlüssel mit einem Zeichenfolgenwert enthalten, der dem Benutzer erklärt, wie die App diese Daten verwendet.

Sobald die erforderlichen Korrekturen vorgenommen wurden, können Sie die korrigierte Binärdatei erneut ausliefern.

Grüße,

Das App Store-Team

Ich verwende Google GoogleSignIn. Ich verwende Firebase nicht, aber bei der Installation von GoogleSignIn mit Kakaofrüchten habe ich in den Protokollen gesehen, dass Firebase automatisch installiert wurde.

Gibt es etwas, das wir tun können, außer diese Schlüssel definieren zu müssen, da meine App nichts mit Kamera / Fotos usw. zu tun hat und ich daher nicht möchte, dass Benutzer glauben, wir würden sie verwenden.

Ich stelle fest, dass auch jemand anderes mit diesem Problem konfrontiert ist: https://forums.developer.apple.com/thread/62229

Pranoy C.
quelle
Google arbeitet anscheinend
Stefan
1
fixiert auf 7.11.0 firebase.google.com/docs/admob/release-notes
ayalcinkaya

Antworten:

94

Hier ist ein Link zu einer vollständigen Problemumgehung von Google: https://groups.google.com/d/msg/google-admob-ads-sdk/UmeVUDrcDaw/HIXR0kjUAgAJ

Weitere Informationen unter diesem Link, aber in der TL; DR-Version müssen Sie Ihrer Liste drei Elemente hinzufügen:

<key>NSCalendarsUsageDescription</key>
<string>Advertisement would like to create a calendar event.</string>
<key>NSPhotoLibraryUsageDescription</key>
<string>Advertisement would like to store a photo.</string>
<key>NSBluetoothPeripheralUsageDescription</key>
<string>Advertisement would like to use bluetooth.</string>
kevcol
quelle
2
Hier scheint die "NSCameraUsageDescription" zu fehlen, über die sich meine beschwert hat
Pranoy C
Mit der Version 7.11.0 des SDK ist dies nicht mehr erforderlich, sondern wird nur aktualisiert und funktioniert.
Wie machst Du das? Info.plist scheint eine Binärdatei zu sein. Ich kann die Schlüsselnamen lesen, aber sie sind von vielen Unsinnszeichen umgeben.
Brian Knoblauch
Ich habe dieses Ding in die Plist-Datei eingefügt, aber immer noch vor dem gleichen Problem. . . Nach dem Erstellungsprozess wird immer noch dieselbe E-Mail gesendet. .
Naman Vaishnav
28

In iOS 10 müssen Sie den im folgenden Bild genannten Schlüssel hinzufügen, wenn Sie eine Kamera oder eine Fotogalerie in Ihrer App verwendenGeben Sie hier die Bildbeschreibung ein

Pritesh
quelle
13

In iOS 10 hat Apple die Anforderung festgelegt, die Verwendungsbeschreibung in der Info.plist für alle Funktionen zu definieren, für die ein Popup erforderlich ist. Siehe http://useyourloaf.com/blog/privacy-settings-in-ios-10/

Während des Beta-Programms stürzten Apps zu dem Zeitpunkt ab, an dem die Eingabeaufforderung angezeigt wurde, wenn die Nutzungsbeschreibung nicht festgelegt wurde.

Es sieht so aus, als ob die Validierungstools von iTunes Connect geändert wurden, um in der App nach Verweisen auf Klassen zu suchen, die berechtigungsbezogenen Objekten zugeordnet sind. Wenn es keinen Info.plist-Eintrag gibt, lehnen sie die Binärdatei ab.

Ich habe dies in einer meiner eigenen Apps gesehen, in der ich eine alte Hilfsmethode in einer Bibliothek hatte, die feststellte, ob die Kamera vorhanden war oder nicht. Obwohl die App diese Methode nie aufgerufen hat, wurde sie mit meiner Binärdatei verknüpft, da ich in derselben Datei eine andere Methode verwendet habe. Diese App hat die Kamera nicht verwendet und daher den Eintrag Info.plist nicht definiert. Und es wurde abgelehnt. Ich habe einfach meine Hilfsmethode entfernt und die Schecks in die anderen Apps verschoben, die sie verwendet haben.

AdMob scheint jedoch Verweise auf den Kalender zu haben, sodass eine App, die Anzeigen verwendet und den Kalender selbst nicht verwendet, nicht eingereicht werden kann. Danke Google!

Geoff Hackworth
quelle
1
Du hast Recht. Googles Frameworks für AdMob und GoogleSignIn installieren Firebase automatisch, wobei solche Berechtigungen verwendet werden, obwohl die App die Kamera niemals verwendet. Nachdem ich NSCameraUsageDescription definiert hatte, konnte ich problemlos senden, in der Hoffnung, dass die App den Benutzer nie dazu auffordert, den Text auch nicht zu sehen. Aber Google sollte das wirklich beheben, das klingt nach einer super zwielichtigen Sache des Spionierens per Kamera oder so.
Pranoy C
9

Sie müssen die Erlaubnis der Kamera in Info.Plist haben. Gehen Sie zu Info.plist und fügen Sie den folgenden Code hinzu.

Key       :  Privacy - Camera Usage Description   
Value     :  $(PRODUCT_NAME) camera use

Siehe diesen Verweis: Geben Sie hier die Bildbeschreibung ein

Kirit Modi
quelle
5

Hier sind alle Datenschutzschlüssel. Wir müssen sie manuell in die Info.plist mit einer kurzen Beschreibung einfügen.

•       Bluetooth Sharing – NSBluetoothPeripheralUsageDescription
•       Calendar – NSCalendarsUsageDescription
•       CallKit – NSVoIPUsageDescription
•       Camera – NSCameraUsageDescription
•       Contacts – NSContactsUsageDescription
•       Health – NSHealthShareUsageDescription & NSHealthUpdateUsageDescription
•       HomeKit – NSHomeKitUsageDescription
•       Location – NSLocationUsageDescription, NSLocationAlwaysUsageDescription, NSLocationWhenInUseUsageDescription
•       Media Library – NSAppleMusicUsageDescription
•       Microphone – NSMicrophoneUsageDescription
•       Motion – NSMotionUsageDescription
•       Photos – NSPhotoLibraryUsageDescription
•       Reminders – NSRemindersUsageDescription
•       Speech Recognition – NSSpeechRecognitionUsageDescription
•       SiriKit – NSSiriUsageDescription
•       TV Provider – NSVideoSubscriberAccountUsageDescription
Kiran K.
quelle
CallKit benötigt keine Autorisierung oder Nutzungsbeschreibung
user102008
3

BEARBEITEN: Bitte beziehen Sie sich auf die Antwort oben https://stackoverflow.com/a/39476283/1634905, in der die offizielle Problemumgehung von Google aufgeführt ist. HINWEIS: In der Problemumgehung fehlt ein zusätzlicher Schlüssel, der ebenfalls erforderlich ist:NSCameraUsageDescription

Problemumgehungslösung, die ich verwendet habe: Googles Frameworks für AdMob und GoogleSignIn installieren Firebase automatisch, wobei solche Berechtigungen verwendet werden, obwohl die App dies niemals tut. Nachdem ich definierte NSCameraUsageDescriptionin dem info.plist, lassen Sie es mich ohne Problem vorlegen die Hoffnung , dass der App wird der Benutzer immer so nicht prompt werden sie den Text entweder nicht sehen.

Pranoy C.
quelle
2

Ist es möglich, dass das Google Framework ein zusätzliches Systemframework verwendet, für das die Benutzerberechtigung (dh die Benutzerposition) erforderlich ist, und Sie vergessen, die zugehörige Beschreibung in die .plist-Datei einzufügen? Überprüfen Sie das noch einmal.

Einige der Beschreibungen der Nutzungsberechtigungen wurden in iOS 10 obligatorisch.

Grizzlybär
quelle
3
Du hast Recht. Googles Frameworks für AdMob und GoogleSignIn installieren Firebase automatisch, wobei solche Berechtigungen verwendet werden, obwohl die App dies niemals tut. Nachdem ich NSCameraUsageDescription definiert hatte, konnte ich problemlos senden, in der Hoffnung, dass die App den Benutzer nie dazu auffordert, den Text auch nicht zu sehen. Aber Google sollte das wirklich beheben, das klingt nach einer super zwielichtigen Sache des Spionierens per Kamera oder so.
Pranoy C
0

Stellen Sie sicher, dass Sie diesen Schlüssel hinzufügen, wenn Sie das ArcGIS.framework von ESRI verwenden.

Marius
quelle