2
携帯電話番号を取得しようとしている連絡先に新しい。私はアドレス名の電子メールを持っていますが、携帯電話を理解することはできません。これは私が得たものです。 **
の部分は間違っています。連絡先フレームワークから電話番号を取得する方法
if let oldContact = self.contactItem {
let store = CNContactStore()
do {
let mykeysToFetch = [CNContactFormatter.descriptorForRequiredKeysForStyle(.FullName), CNContactEmailAddressesKey, CNContactPostalAddressesKey,CNContactImageDataKey, CNContactImageDataAvailableKey,CNContactPhoneNumbersKey]
let contact = try store.unifiedContactWithIdentifier(oldContact.identifier, keysToFetch: mykeysToFetch)
dispatch_async(dispatch_get_main_queue(), {() -> Void in
if contact.imageDataAvailable {
if let data = contact.imageData {
self.contactImage.image = UIImage(data: data)
}
}
self.fullName.text = CNContactFormatter().stringFromContact(contact)
self.email.text = contact.emailAddresses.first?.value as? String
self.phoneNumber.text = contact.phoneNumbers.first?.value as? String
**if contact.isKeyAvailable(CNContactPhoneNumbersKey){
if let phoneNum = contact.phoneNumbers.first?.value as? String {
self.phoneNumber.text = phoneNum as String
}
}**
if contact.isKeyAvailable(CNContactPostalAddressesKey) {
if let postalAddress = contact.postalAddresses.first?.value as? CNPostalAddress {
self.address.text = CNPostalAddressFormatter().stringFromPostalAddress(postalAddress)
} else {
self.address.text = "No Address"
}
}
})
} catch {
print(error)
}
}
ラベルとCNLabeledValueの違いは何ですか? –
'CNLabeledValue'は、ローカライズの互換性を最大限に高めるために' label '(例えば、 "home"、 "work"、 "mobile"単純な文字列でも構いませんが)、 'value'(数値自体の' CNPhoneNumber')があります。 https://developer.apple.com/library/ios/documentation/Contacts/Reference/CNLabeledValue_Class/index.htmlを参照してください。 – Rob
ありがとうございました:) –