我的 OSX 应用程序允许用户从他们的联系人列表中选择一个联系人并将详细信息加载到客户记录中。我正在使用 CNContactPicker 将联系人检索到 CNContact 记录中。我需要检索的字段之一是组织名称。这在 High Sierra 之前的操作系统中完美运行,但升级到 High Sierra 后它会崩溃。可以毫无问题地检索所有其他 CNContact 字段(例如姓名、电子邮件、地址等)。我确实在我的 info.plist 文件中请求了权限。
如果联系人有/没有组织名称,则没有区别。
在代码方面没有太多可展示的:
// This fails on 1st line - any reference to organizationName causes failure
if (contact.organizationName != "") {
self.name = contact.organizationName
}
// This works
if (contact.givenName != "") {
self.name = contact.givenName
}
// This works
if (contact.contactType == CNContactType.organization) {
// Do something
}
实际错误是:[General] 获取联系人时未请求属性。
我想知道导致此错误的操作系统发生了什么变化,以及是否有解决方案或解决方法。