Swift 如何在mac OS上使用CNContactViewController编辑联系人
我想创建一个允许用户编辑联系人的应用程序 根据Swift 如何在mac OS上使用CNContactViewController编辑联系人,swift,xcode,macos,cncontactviewcontroller,Swift,Xcode,Macos,Cncontactviewcontroller,我想创建一个允许用户编辑联系人的应用程序 根据CNContactViewController的说明,它具有iOS和macOS 10.11+的属性 在Xcode中,CNContactViewController只有一个属性,没有特定于联系人的方法: @NSCopying open var contact: CNContact? 是否可以使用ContactsUI框架在mac上编辑联系人,或者这是文档中的错误 这是我显示联系人的方式: if let vc = segue.destinationCon
CNContactViewController
的说明,它具有iOS和macOS 10.11+
的属性
在Xcode中,CNContactViewController
只有一个属性,没有特定于联系人的方法:
@NSCopying open var contact: CNContact?
是否可以使用ContactsUI
框架在mac上编辑联系人,或者这是文档中的错误
这是我显示联系人的方式:
if let vc = segue.destinationController as? CNContactViewController{
let contact = CNMutableContact()
contact.givenName = "John"
contact.familyName = "Appleseed"
let homeEmail = CNLabeledValue(label:CNLabelHome, value:"john@example.com" as NSString)
let workEmail = CNLabeledValue(label:CNLabelWork, value:"j.appleseed@icloud.com" as NSString)
contact.emailAddresses = [homeEmail, workEmail]
contact.phoneNumbers = [CNLabeledValue(
label:CNLabelPhoneNumberiPhone,
value:CNPhoneNumber(stringValue:"(408) 555-0126"))]
let homeAddress = CNMutablePostalAddress()
homeAddress.street = "1 Infinite Loop"
homeAddress.city = "Cupertino"
homeAddress.state = "CA"
homeAddress.postalCode = "95014"
contact.postalAddresses = [CNLabeledValue(label:CNLabelHome, value:homeAddress)]
var birthday = DateComponents()
birthday.day = 1
birthday.month = 4
birthday.year = 1988 // You can omit the year value for a yearless birthday
contact.birthday = birthday
vc.contact = contact
}
但是,没有可用的编辑按钮:
我用我的一个开发者积分询问了苹果在Sierra下的情况,回答是“编辑”功能在macOS下还没有实现。有人建议我提交一个雷达(我确实提交了)。我希望它能针对High Sierra进行更新,但遗憾的是,还没有这样的API 如果单击实际的“allowsEditing”链接,您将看到,对于此API,它仅在iOS下(目前)。遗憾的是,我真的很期待删除联系人代码的通讯录代码,但我还不能