2016-09-19 2 views
28

Nach dem Update auf iOS 10 versuchen, wenn die Kontakte durch Plugin cordova-plugin-contacts v2.2.0, die App Ausfahrten mitApp stürzt mit __CRASHING_DUE_TO_PRIVACY_VIOLATION__, wenn sie Zugang Kontakte

__CRASHING_DUE_TO_PRIVACY_VIOLATION__

zuzugreifen versuchen, weiß ich nicht, was andere zusätzliche Informationen, die ich jetzt zur Verfügung stellen kann, lassen Sie es mich wissen, wenn ich genauer sein kann. Danke.

Vielleicht ist dies von einigen Nutzen: https://stackoverflow.com/a/39416858/592641, aber ich konnte keinen Leitfaden finden, wie diese Verwendungsbeschreibungen in Cordova angeben.

+0

Bitte benutzen Sie erstellen ein xcode-Projekt? Finde eine Info.Plist 'Datei mit' Navigator' (das linke Feld von xcode), fügen Sie den Eintrag in der Plist-Datei hinzu, die Sie im Link zu Ihrer eigenen Frage gefunden haben. Sobald Sie fertig sind, installieren Sie eine neue Kopie. – NeverHopeless

+0

Fand es jetzt, was ist die genaue Schlüssel/String-Kombination, die ich für Kontakte verwenden muss? Die Kombination in der Verbindung ist über Kamera. – Birowsky

Antwort

5

Kurz gesagt, müssen die Nutzungs Beschreibungen innerhalb *info.plist

Das nicht gut für Cordova Code-Basis ist angegeben werden, da .plist-Dateien nicht Teil des Repository sind. Der einfachste Weg, fand ich sie innerhalb config.xml setzen dies ist:

  1. Installieren cordova-custom-config
  2. folgenden innerhalb config.xml hinzufügen:

.

<platform name="ios"> 
    <config-file parent="NSContactsUsageDescription" target="*info.plist"> 
     <string>Easily invite your friends</string> 
    </config-file> 
</platform> 
32

Nachdem Sie das xcode-Projekt erstellt und die Datei Info.Plist gefunden haben, können Sie versuchen, den Schlüssel NSContactsUsageDescription hinzuzufügen, der einen Zeichenfolgenwert akzeptieren sollte.

A complete list of Cocoa Keys

Hoffnung, das hilft!

EDIT

Ein Teil aus dem doc: (was können Ihnen helfen, zu verstehen, warum es abstürzt)

Wichtig: die Privatsphäre der Nutzer zu schützen, ein iOS-App verknüpft am oder nach dem iOS 10.0, die auf die Kontakte des Benutzers zugreift, muss diese Absicht statisch deklarieren. Fügen Sie den NSContactsUsageDescription-Schlüssel in der Info.plist-Datei Ihrer App ein, und geben Sie eine Zweckzeichenfolge für diesen Schlüssel an. Wenn Ihre App versucht, auf die Kontakte des Nutzers zuzugreifen, ohne eine entsprechende Zeichenfolge für den Zweck , wird Ihre App beendet.

+0

Das hat geholfen, ja, was mir geblieben ist, ist herauszufinden, wie man diese PLIST-Datei aus der Cordova-Konfiguration manipuliert. – Birowsky

+0

Sobald Sie den Eintrag in "Info.Plot" hinzugefügt haben, sollte das System diesen Eintrag von plist selbst während der Ausführung lesen, Sie müssen diese PLIST-Datei nicht (un) laden. Wenn aus dem Code eine Anfrage an solche erlaubnisbasierten Dienste initiiert wird, sucht sie nach der Verwendungsbeschreibung in der Datei " Info.plist". – NeverHopeless

+0

Natürlich, aber das Problem ist, dass alle diese plattformspezifischen Dateien aus der Cordova-Konfiguration generiert werden. Daher sind sie nicht Teil des VCS. Daher muss ich diese Änderungen explizit in der Cordova-Konfiguration angeben, damit sie überall generiert werden können. – Birowsky

2

für mich, ich habe versucht, Zugriff auf das Mikrofon zu verlangen, aber ich die Privacy - Microphone Usage Description String nicht definiert hatte.

Gehen Sie in Ihre Info.plist-Datei und scrollen Sie nach unten zu den Werten, die mit Privacy beginnen. Stellen Sie sicher, dass Sie Schlüssel und Zeichenfolgenwerte für alle relevanten Informationen zu Ihrer App hinzufügen.

Screenshot of the values that start with Privacy in the info.plist

+0

Haben Sie versucht, "NSMicrophoneUsageDescription" als einen Mikrofonbenutzungsbeschreibungsschlüssel in Ihrem Plist hinzuzufügen? Sie können dies in dem Link in meiner Antwort gefunden finden. – NeverHopeless

0

Ich habe hier mit dem gleichen Fehler mit Kudan AR über Unity und @ NeverHelpless Antwort war am Ziel, mit Ausnahme der fix war NSCameraUsageDescription (In dem Info.plist mit einer Beschreibung string)

Verwandte Themen