从通讯录中获取 kABAddressCountryCodeKey

get kABAddressCountryCodeKey from address book

我有此代码可以从我的 osx 通讯录中获取特定人员的国家/地区。

let address = person.value(forProperty: kABAddressProperty) as? ABMultiValue

print(((adresse?.value(at: 0) as? NSMutableDictionary)?.value(forKey: kABAddressCountryKey) as? String) ?? "No Country")

print(((adresse?.value(at: 0) as? NSMutableDictionary)?.value(forKey: kABAddressCountryCodeKey) as? String) ?? "No Country")

kABAddressCountryKey 的打印结果将是完整的国家/地区。 但我想要国家代码密钥。但是对于第二个打印结果,我得到 "No Country"

我忘记了什么?

我不认为你忘记了什么。我只是遍历了我的联系人,在我与国家/地区的 2,020 个地址中,有 1,368 个没有国家代码。

我刚刚做了一个快速测试,在 macOS Sierra Contacts 应用程序中添加的联系人没有获得国家代码,而在 iOS 11 Contacts 应用程序中添加的联系人却获得了国家代码。