__ABSTURZ_DURCH_ZU_PRIVACY_VERLETZUNG__
In Crashlytics, ich kann sehen, dass iOS-10-Benutzer erhalten diese oft Abstürzen. Allerdings, wenn ich zum test im Simulator iPhone 7/10.2, ich bin nicht in der Lage zu reproduzieren Sie den Absturz. In meiner plist, ich habe schon Saiten für
NSCalendarsUsageDescription, NSMicrophoneUsageDescription, und NSPhotoLibraryUsageDescription.
Hier ist der stacktrace von Crashlytics:
Crashed: com.apple.root.default-qos
0 libsystem_kernel.dylib 0x183765d74 __abort_with_payload + 8
1 libsystem_kernel.dylib 0x18376249c <redacted> + 100
2 libsystem_kernel.dylib 0x1837624c8 abort_with_payload + 10
3 TCC 0x1869d6328 __TCCAccessRequest_block_invoke_2.80 + 258
4 TCC 0x1869d6224 __CRASHING_DUE_TO_PRIVACY_VIOLATION__ + 702
5 TCC 0x1869d9330 __tccd_send_block_invoke + 348
6 libxpc.dylib 0x18386afcc _xpc_connection_reply_callout + 80
7 libxpc.dylib 0x18386af3c _xpc_connection_call_reply + 40
8 libdispatch.dylib 0x1836221bc _dispatch_client_callout + 16
9 libdispatch.dylib 0x183630a4c _dispatch_queue_override_invoke + 732
10 libdispatch.dylib 0x18363234c _dispatch_root_queue_drain + 572
11 libdispatch.dylib 0x1836320ac _dispatch_worker_thread3 + 124
12 libsystem_pthread.dylib 0x18382b2a0 _pthread_wqthread + 1288
13 libsystem_pthread.dylib 0x18382ad8c start_wqthread + 4
Keine Ahnung, wie der Fehler reproduziert werden oder dieses Problem beheben? Ich erlauben-Benutzer, um auf Kontakte zuzugreifen, aber ich bin nicht aufgefordert werden, für jede Berechtigung, wenn ich test diese Funktion im simulator. Allerdings, wenn der Benutzer auf die Kamera von meiner app, der simulator führt Aufforderung mich für eine Genehmigung. Das macht mich denken, dass ein string nicht benötigt für den Zugriff auf die Kontakte.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn Sie sehen, dass diese Abstürze auf iPhone X und verwenden Sie Touch-ID/Face-ID, der Grund könnte ein Mangel an
NSFaceIDUsageDescription
key in der Info.plist. Der Schlüssel wurde Hinzugefügt, im iOS-11 und sieht aus wie könnte es zwingend werden, nachdem iOS 11.3, da sehe ich einen spike stürzt auf iPhone X nach iOS 11.3 veröffentlicht wurde. Es ist vage dokumentiert von Apple hier:Interessanterweise, ich war nicht in der Lage zu reproduzieren, die den Absturz auf iOS 11.3 auf meinem iPhone Entwicklung X, vielleicht verhält es sich anders im debug-oder TestFlight baut. Noch Wert das hinzufügen der Schlüssel, wenn Sie Face-ID in Ihrer app, wenn wir glauben, dass die Apple-Dokumentation.
Ich musste hinzufügen einer Zeichenfolge für
NSCameraUsageDescription
in der plist, da dem Benutzer erlaubt ist, Fotos zu machen.Lassen Sie uns zu verstehen, zwei Dinge.
In der plist-Datei gibt es so viele privacy-Tasten, zum Beispiel die Verwendung der Kamera, Kontakt-Nutzung-Standort-Nutzung -, Gesichts-id-Nutzung, etc... wenn Sie verpassen eine der Tasten, und versuchen, diese Funktionen erhalten Sie einen Absturz haben, so benutzen Sie die Tasten und Beschreibung für avoding Absturz.
2. Sache ist, vor allem für NSPhotoLibraryUsageDescription, wenn Sie mit diesem Schlüssel aus über iOS 6 und unter iOS 11.3 dann werden Sie nicht bekommen, kein Absturz, aber nach iOS 11.3 und höher müssen Sie fügen Sie eine weitere Taste, die ist NSPhotoLibraryAddUsageDescription.
Zur gleichen Zeit, können Sie beide Tasten, wenn die app ist iOS 8 oder 9 oder höher auf die neueste iOS 11.3 und höher.
Referenz für alle Schlüssel
Ich hatte das gleiche problem mit einem iphone X mit iOS 14. Das problem, das hinzufügen NSPhotoLibraryAddUsageDescription zu meiner info.plist-Datei.
acording zu diesem forum : https://forums.developer.apple.com/thread/100732
Müssen Sie brauchen, um Berechtigung von Benutzer Zugriff auf das Adressbuch.
Es gibt update auf iOS 9.0 und höher:
Vom Apple-website :
Wichtig
Der Address Book UI framework ist veraltet " in iOS 9. Verwenden Sie die APIs definiert, die in der ContactsUI Rahmen statt. Um mehr zu erfahren, sehen ContactsUI.
In meinem Fall, ich habe die gleichen crash-Bericht, wenn Sie versuchen, Dateien zu Lesen mit einem
UIDocumentPickerViewController
ohne den ersten AufrufstartAccessingSecurityScopedResource()
auf der zurückgegebenenURL
.