webentwicklung-frage-antwort-db.com.de

iOS 10 GM Freigabefehler beim Senden von Apps Die App versucht, aufgrund von GoogleSignIn, AdMob, auf vertrauliche Daten ohne Verwendungsbeschreibung zuzugreifen

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

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

Diese App versucht, ohne vertrauliche Beschreibung auf vertrauliche Daten zuzugreifen. Die Info.plist der App muss einen NSCameraUsageDescription-Schlüssel mit einem Zeichenfolgewert enthalten, der dem Benutzer erläutert, wie die App diese Daten verwendet.

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

Grüße,

Das App Store-Team

Ich benutze Google GoogleSignIn. Ich benutze Firebase nicht, aber bei der Installation von GoogleSignIn mit Kakaopods sah ich in den Protokollen, dass Firebase automatisch installiert wurde. 

Gibt es etwas, was 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 möchte nicht, dass Benutzer glauben, dass wir sie verwenden.

Ich habe festgestellt, dass auch jemand anderes mit diesem Problem konfrontiert wurde: https://forums.developer.Apple.com/thread/62229

79
Pranoy C

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

Mehr Infos unter diesem Link, aber bei TL; DR-Version musst du drei Punkte zu deiner Liste 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>
94
kevcol

in iOS 10 müssen Sie den in der folgenden Abbildung genannten Schlüssel hinzufügen, wenn Sie in Ihrer App eine Kamera oder Fotogalerie verwenden.  enter image description here

28
Pritesh

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

Während des Betaprogramms stürzten Apps zu dem Zeitpunkt ab, zu dem sie die Eingabeaufforderung anzeigen würden, wenn die Verwendungsbeschreibung nicht festgelegt wurde.

Es sieht so aus, als ob die iTunes Connect-Überprüfungstools geändert wurden, um in der App nach Verweisen auf Klassen zu suchen, die mit Objekten in Verbindung stehen, die mit Berechtigungen in Verbindung stehen. Wenn es keinen Info.plist-Eintrag gibt, lehnen sie die Binärdatei ab.

Ich habe dies in einer meiner eigenen Apps gesehen, in denen ich eine alte Hilfsmethode in einer Bibliothek hatte, die erkannte, ob die Kamera vorhanden war oder nicht. Obwohl die App diese Methode nie aufgerufen hat, wurde sie in meine Binärdatei verlinkt, weil ich eine andere Methode in derselben Datei verwendet habe. Diese App hat die Kamera nicht verwendet und somit den Info.plist-Eintrag 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. Eine App, die Anzeigen verwendet und nicht den Kalender selbst verwendet, kann jedoch nicht übermittelt werden. Vielen Dank an Google!

13
Geoff Hackworth

Sie müssen die Erlaubnis von Camera in Info.Plist haben. gehe zur Info.plist und füge den Code hinzu.

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

Siehe diese Referenz: enter image description here

9
Kirit Modi

Hier sind alle Datenschutzschlüssel. Wir müssen sie manuell in die Info.plist mit kurzer 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
5
Kiran K

EDIT: Bitte beziehen Sie sich auf die Antwort oben https://stackoverflow.com/a/39476283/1634905 Diese listet die offizielle Problemumgehung von Google auf. Beachten Sie, dass der Problemumgehung ein zusätzlicher Schlüssel fehlt, der ebenfalls erforderlich ist: NSCameraUsageDescription

Von mir verwendete Workaround-Lösung: Die Google-Frameworks für AdMob und GoogleSignIn installieren Firebase automatisch, wobei diese Berechtigungen verwendet werden, selbst wenn die App dies nicht tut. Nachdem ich NSCameraUsageDescription im info.plist definiert hatte, konnte ich ohne Probleme einreichen, in der Hoffnung, dass die App den Benutzer nicht zur Aufforderung auffordert, sodass der Text auch nicht angezeigt wird. 

3
Pranoy C

Behoben am 7.11.0 https://firebase.google.com/docs/admob/release-notes

Stellen Sie sicher, dass Sie das SDK aktualisieren

2
ayalcinkaya

Ist es möglich, dass das Google Framework ein zusätzliches System-Framework verwendet, für das die Benutzerberechtigung erforderlich ist (d. H. Die Position des Nutzers), und Sie vergessen, die zugehörige Beschreibung in der .plist-Datei hinzuzufügen! Überprüfen Sie das noch einmal.

Einige der Nutzungserlaubnisbeschreibungen wurden in iOS 10 obligatorisch.

2
GrizzlyBear

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

0
Marius