Ich habe eine bestehende App seit 2010, und mit iOS 10 es erforderlich ist jetzt, dass die App-Strings im Info.plist
aufweist, ist die Verwendung der Beschreibung, wie hier erklärt: http://useyourloaf.com/blog/privacy-settings-in-ios-10/EventKitUI/EKCalendarChooser benötigt Zugriff auf Kontakte - warum?
Allerdings habe ich bereits die entsprechende Taste hinzugefügt meine Info.plist. Dennoch melden Nutzer App-Abstürze, wenn die App versucht, auf Kalender zuzugreifen. Einer der Benutzer nun gelungen, mir einen Crash-Bericht zu senden, die wie folgt aussieht:
Termination Reason: TCC, This app has crashed because it attempted to access
privacy-sensitive data without a usage description.
The app's Info.plist must contain an NSContactsUsageDescription key with a string value explaining to the user how the app uses this data.
Triggered by Thread: 2
Filtered syslog:
None found
Thread 0 name: Dispatch queue: com.apple.main-thread
Thread 0:
0 libsystem_kernel.dylib 0x00000001812501a8 0x18124f000 + 4520
1 libdispatch.dylib 0x000000018113b7ec 0x181128000 + 79852
2 Contacts 0x000000018aa2c63c 0x18a9c8000 + 411196
3 Contacts 0x000000018a9f7c40 0x18a9c8000 + 195648
4 Contacts 0x000000018aa08578 0x18a9c8000 + 263544
5 EventKitUI 0x000000018f18b5a4 0x18f169000 + 140708
6 EventKitUI 0x000000018f2a9628 0x18f169000 + 1312296
7 EventKitUI 0x000000018f2aa3a8 0x18f169000 + 1315752
8 UIKit 0x000000018843b1b4 0x1880e8000 + 3486132
Nun ist die Frage, warum meine app brauche den Zugang zu Kontakte, aber meine app will nur lesen/schreiben Kalender?
Im Krachen Code, den ich ein EKCalendarChooser
Uhr Eröffnung und vorher fragte ich den Benutzer um Erlaubnis eventStore requestAccessToEntityType:EKEntityTypeEvent completion:(...)
In meinem Info.plist mit ich habe:
<key>NSCalendarsUsageDescription</key>
<string>Storing of leave data</string>
So wie ich repariere das? Muss ich NSContactsUsageDescription
hinzufügen, wie im Absturzbericht angegeben? Warum? Und wird es zu einer Popup-Eingabeaufforderung für den Zugriff auf Kontakte führen, was die meisten Benutzer wahrscheinlich für eine schlechte Sache halten würden?
Hinweis: das seltsamste ist, dass auf keinem meiner Geräte dieser Absturz reproduziert werden kann, ich habe nur ein paar Benutzer, die diese Art von Absturz melden.
Für die Sicherheit fügen Sie NSContactsUsageDescription .i fügen auch Datenschutz - Foto-Bibliothek Verwendung Beschreibung in meiner App, aber in meiner App bin nicht mit Foto-Bibliothek. –
Okay, aber warum? Vielleicht könnte ich meinen Code ändern, so dass Kontakte Berechtigungen nicht benötigt werden, wenn ich den Grund kenne. – user826955