AB の代わりに CNContacts を使用するようにアプリを更新しています。連絡先へのアクセス許可を求めるメッセージが表示されないことに気付きました。以下のスイッチでは、アクセスが拒否されていることを正しく伝えていますが、アクセスを許可するように求められません。さらに、ピッカーを表示するだけでなく、選択したプロパティを入力しているテーブルビューに保存することもできます...
連絡先から電話番号や電子メールを取得するために許可を得る必要はありませんか? 「.Denied」の場合にコードが機能しているように見える理由がわかりません
//This code is called when you hit the "add a contact" button on my UI
switch CNContactStore.authorizationStatusForEntityType(.Contacts){
case .Authorized:
print("Already authorized")
presentPicker()
/* Access the address book */
case .Denied:
print("Denied access to address book")
store.requestAccessForEntityType(.Contacts){succeeded, err in
guard err == nil && succeeded else{
return
}
self.presentPicker()
}
case .NotDetermined:
store.requestAccessForEntityType(.Contacts){succeeded, err in
guard err == nil && succeeded else{
return
}
self.presentPicker()
}
default:
print("Not handled")
}