2016-07-07 14 views
8

CNContactStoreへのアクセスを要求するとすぐにコードがクラッシュします。これはベータの問題ですか?Swift 3/Xcode 8 - CNContact <Private>

//で

var addressBookStore = CNContactStore() 

addressBookStore.requestAccess(for: .contacts) { (granted, error) 

このコンソールメッセージは、クラッシュ時にトリガされる - メッセンジャー[836:1175155] [アクセス]プライベート

はクラッシュがこの行で発生し、さえも、エラーを印刷防止!

事前

答えて

21

に感謝し、ここで示唆したように:https://developer.apple.com/reference/contacts iOSの10.0以降にリンクされアンiOSアプリは、そのInfo.plistの ファイル使用状況説明に含まれている必要があります

重要

キーのデータ型は にアクセスする必要があります。そうしないとクラッシュします。連絡先データに具体的にアクセスするには、 にNSContactsUsageDescriptionが含まれている必要があります。

あなたは次にあなたが承認ダイアログが表示されますあなたのInfo.plistファイルに

enter image description here

をNSContactsUsageDescriptionキーをADDDする必要があります。このキーなしでアプリケーションがクラッシュします。

enter image description here

let addressBookStore = CNContactStore() 

addressBookStore.requestAccess(for: CNEntityType.contacts) { (isGranted, error) in 
    print(isGranted) 
    print(error) 
} 
+3

ような単純な解決策。私はそれを逃したと信じていない!おかげでたくさん – InfinitePod

+1

すばらしい先端! TY! –

関連する問題