it-swarm.com.de

Was ist der Absturz von "Die Info.plist der App muss eine NSPhotoLibraryAddUsageDescription enthalten"?

Ich habe den folgenden Fehler festgestellt (iOS 11):

Diese App ist abgestürzt, weil versucht wurde, auf vertrauliche Daten zuzugreifen Daten ohne Verwendungsbeschreibung. Die Info.plist der App muss .__ enthalten. ein NSPhotoLibraryAddUsageDescription-Schlüssel mit einem Zeichenfolgewert Erklären Sie dem Benutzer, wie die App diese Daten verwendet.

Beachten Sie, dass die Anwendung info.plist zwar NSPhotoLibraryUsageDescription enthält, aber dennoch abstürzt. Warum?

17
Ahmad F

Beachten Sie, dass die info.plist der Anwendung zwar NSPhotoLibraryUsageDescription enthält, aber trotzdem abstürzt. Warum?

Ich denke, es gibt ein Missverständnis beim Vergleich von NSPhotoLibraryUsageDescription und NSPhotoLibraryAddUsageDescription, wie in Schlüsselreferenz der Informationseigenschaftenliste dokumentiert:

NSPhotoLibraryUsageDescription:

Mit diesem Schlüssel können Sie den Grund beschreiben, warum Ihre App auf die Fotobibliothek des Benutzers zugreift . Wenn das System den Benutzer auffordert, den Zugriff zuzulassen, wird diese Zeichenfolge als Teil der Warnung angezeigt.

Dies hängt damit zusammen, dass die App auf die Gerätefotobibliothek zugreifen (abrufen) kann.

NSPhotoLibraryAddUsageDescription:

Mit diesem Schlüssel können Sie den Grund beschreiben, warum Ihre App schreibgeschützten Zugriff auf die Fotobibliothek des Benutzers sucht . Wenn das System den Benutzer auffordert, den Zugriff zuzulassen, wird diese Zeichenfolge als Teil der Warnung angezeigt.

Dies hängt damit zusammen, dass die App Fotos in die Gerätefotobibliothek schreiben (hinzufügen) kann.


Um diesen Absturz zu beheben, müssen Sie NSPhotoLibraryAddUsageDescription in die plist-Datei der Anwendung einfügen:

<key>NSPhotoLibraryAddUsageDescription</key>
<string>Our application needs permission to write photos...</string>

Als Eigenschaftslistenansicht:

enter image description here

60
Ahmad F

In der obigen Antwort ist ein Tippfehler enthalten. Der richtige Eintrag in plist sollte wie folgt aussehen

<key>NSPhotoLibraryUsageDescription</key>
<string>$(PRODUCT_NAME) needs permission to access photos on your device</string>
0
Das