2017-01-26 6 views
2

Hier ist ein Teil meines Absturzberichts.iOS Absturz: __CRASHING_DUE_TO_PRIVACY_VIOLATION__

#0. com.apple.contacts.store 
0 libsystem_kernel.dylib   0x18c34d1c4 semaphore_wait_trap + 8 
1 libdispatch.dylib    0x18c2387d8 _dispatch_semaphore_wait_slow + 216 
2 Contacts      0x195b99584 +[CNAuthorization requestAccessWithTimeout:entityType:] + 224 
3 Contacts      0x195b6288c -[CNiOSAddressBookDataMapper requestAccessForEntityType:error:] + 40 
4 Contacts      0x195b733fc -[CNDataMapperContactStore unifiedContactCountWithError:] + 60 
5 ContactsUI      0x196b7603c -[CNContactStoreSnapshot countOf_contacts] + 144 
6 ContactsUI      0x196b78820 -[CNContactStoreSnapshot prepareEnoughContacts] + 244 
7 libdispatch.dylib    0x18c2261bc _dispatch_client_callout + 16 
8 libdispatch.dylib    0x18c2337f0 _dispatch_barrier_sync_f_invoke + 84 
9 ContactsUI      0x196b7a9ec -[CNContactStoreDataSource _reloadSynchronously:] + 180 
10 ContactsUI      0x196b7af5c -[CNContactStoreDataSource currentSnapshot] + 64 
11 ContactsUI      0x196b79b80 -[CNContactStoreDataSource contacts] + 24 
12 ContactsUI      0x196b2045c -[CNContactListViewController _updateCountStringNow:] + 68 
13 ContactsUI      0x196b1f210 -[CNContactListViewController loadView] + 408 
14 UIKit       0x1932525bc -[UIViewController loadViewIfRequired] + 184 
15 UIKit       0x19330c2bc -[UINavigationController _layoutViewController:] + 72 
16 UIKit       0x19330c194 -[UINavigationController _updateScrollViewFromViewController:toViewController:] + 416 
17 UIKit       0x19330b4dc -[UINavigationController _startTransition:fromViewController:toViewController:] + 140 
18 UIKit       0x19330af28 -[UINavigationController _startDeferredTransitionIfNeeded:] + 856 
19 UIKit       0x19330aadc -[UINavigationController __viewWillLayoutSubviews] + 64 
20 UIKit       0x19330aa40 -[UILayoutContainerView layoutSubviews] + 188 
21 UIKit       0x1934e3fdc _runAfterCACommitDeferredBlocks + 292 
22 UIKit       0x1934d5d50 _cleanUpAfterCAFlushAndRunDeferredBlocks + 560 
23 UIKit       0x1932450b4 _afterCACommitHandler + 168 
24 CoreFoundation     0x18d34a0c0 __CFRUNLOOP_IS_CALLING_OUT_TO_AN_OBSERVER_CALLBACK_FUNCTION__ + 32 
25 CoreFoundation     0x18d347cf0 __CFRunLoopDoObservers + 372 
26 CoreFoundation     0x18d348180 __CFRunLoopRun + 1024 
27 CoreFoundation     0x18d2762b8 CFRunLoopRunSpecific + 444 
28 GraphicsServices    0x18ed2a198 GSEventRunModal + 180 
29 UIKit       0x1932bd7fc -[UIApplication _run] + 684 
30 UIKit       0x1932b8534 UIApplicationMain + 208 
31 MainApp      0x1001365e8 main (main.m:16) 
32 libdispatch.dylib    0x18c2595b8 (Missing) 

Es scheint, dass com.apple.contacts.store verursacht den Absturz aufgrund der Datenschutzrichtlinie nach meiner Forschung. Problem ist, dass ich Kontaktspeicher überhaupt nicht verwende. Dies trat nur für einen Benutzer auf.

Antwort

12

Wenn Sie ein UITextView mit dataDetectorTypes aktiviert verwenden, kann der Benutzer über die Kraft drückt Berührungsgeste auf einer Telefonnummer in ein Kontextmenü erhalten (vom System zur Verfügung gestellt). Über dieses Menü kann ein neuer Kontakt mit dieser Telefonnummer erstellt werden oder die Telefonnummer kann zu einem bestehenden Kontakt hinzugefügt werden (siehe Screenshot). Sobald der Benutzer auf "Zu Kontakt hinzufügen" klickt, wird die Anwendung versuchen, Zugriff auf das Adressbuch anzufordern. Wenn Sie in Ihrer Info.plist keine NSContactsUsageDescription haben, stürzt es ab.

enter image description here

+0

Das war es genau für mich, danke. –

+0

Willkommen! Nahm mich eine Weile, um herauszufinden, dass eins in unserer App, so dass ich denke, es lohnt sich zu teilen. – plu

+0

Super! Wir stehen nun vor dem Problem, dass ein Benutzer den Zugriff auf die Kontakte verweigern kann. In diesem Fall stürzt er immer noch ab. Irgendwelche Ideen? –

0

Es sieht so aus, als ob Sie das ContactsUI Framework von Apple verwenden, bei dem Sie NSContactsUsageDescription in Ihre Datei aufnehmen müssen, um die Erlaubnis Ihres Benutzers einzuholen. Mehr Infos hier unter Datenschutz: https://developer.apple.com/reference/contacts

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW14

+0

Aber ich bin nicht. Ich denke, Crashlytics haben vielleicht versagt. – Weakman10122

+0

Ein anderes Framework, das Sie verwenden, verwendet es möglicherweise, was zu demselben Verhalten führen würde. – karnett