0

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")
    }
4

1 に答える 1

1

CNContactsPickerViewController を使用するための承認は必要ありません。「処理外」です。それだけで機能します。実際には、これはアプリ内にある連絡先アプリであり、ユーザーは連絡先アプリを使用するためのアクセス許可を必要としません。

于 2015-10-05T18:24:39.457 に答える