CNContacts
EMPTY Phone Numbers で戻ってくる人がいるのはなぜですか?
次のような出力が得られます。
"phoneNumbers=(not fetched), emailAddresses=(not fetched),"
たとえば、シミュレータの組み込みの連絡先アプリから連絡先を取得すると、さまざまな結果が得られます。
電話番号"John Appleseed"
は返されますが、返され"Kate Bell"
ません-彼女は明らかに電話番号を持っています. CNContactPhoneNumbersKey
フェッチリクエストで間違いなく使用している非常に奇妙な原因です。
これが私のコードです:
let fetchKeys = [ CNContactEmailAddressesKey, CNContactPhoneNumbersKey,
CNContactFormatter.descriptorForRequiredKeysForStyle(.FullName) ]
let contactFetchRequest = CNContactFetchRequest(keysToFetch: fetchKeys)
do {
try self.contactsStore.enumerateContactsWithFetchRequest(contactFetchRequest) {
fetchedContact, stop in
print("fetched Contact is: \n\(fetchedContact.description)")
}
}
前述したように、取得した連絡先が電話番号と共に返される場合と返されない場合があることが出力からわかります。メールも同じです。返される場合と返されない場合があります。
これは、シミュレーターと iPhone で実行したときの両方で発生します。
ここで何が起こっているのでしょうか?