ios – CNContactViewController()的“创建新联系人”和“添加到现有联系人”

ios – CNContactViewController()的“创建新联系人”和“添加到现有联系人”,第1张

概述使用ABAddressBook,当我希望用户能够为他们以前从未见过的联系人选择“创建新联系人”和“添加现有联系人”时,我将创建并呈现一个ABUnknownPersonViewController. 我无法在CNContacts框架中找到复制此功能的方法.在我看来,CNContactViewController(forUnknownContact:contact)可以工作,但不幸的是,这只允许用户 使用ABAddressBook,当我希望用户能够为他们以前从未见过的联系人选择“创建新联系人”和“添加到现有联系人”时,我将创建并呈现一个ABUnkNownPersonVIEwController.

我无法在CNContacts框架中找到复制此功能的方法.在我看来,CNContactVIEwController(forUnkNownContact:contact)可以工作,但不幸的是,这只允许用户“发送消息”或“共享联系人”.

如何允许用户将联系人保存到CNContacts中作为新联系人或作为现有联系人的一部分的地址簿?

func presentContact() {    let status = CNContactStore.authorizationStatusForEntityType(.Contacts)    switch status {    case .Authorized: ()    case .NotDetermined: requestAccess()    case .DenIEd,.Restricted: accessDenIEd()    }    print("authorized? \(status == .Authorized)") //prints "authorized? true"    let unkNown = CNContactVIEwController(forUnkNownContact: contact!)    unkNown.delegate = self    self.navigationController?.pushVIEwController(unkNown,animated: false)}

即使我尝试请求访问,用户仍然无法保存联系人.

解决方法 你一直没有显示真实的代码,所以无法帮助你.所以我失去了兴趣.我只会告诉你我的真实代码然后让你去研究它并思考我正在做什么和你在做什么之间的区别.这是实际的工作代码;你们去做同样的事:
let con = CNMutableContact()con.givenname = "Johnny"con.familyname = "Appleseed"con.phoneNumbers.append(CNLabeledValue(    label: "woods",value: CNPhoneNumber(stringValue: "555-123-4567")))let unkvc = CNContactVIEwController(forUnkNownContact: con)unkvc.message = "He kNows his trees"unkvc.contactStore = CNContactStore()unkvc.delegate = selfunkvc.allowsActions = falseself.navigationController?.pushVIEwController(unkvc,animated: true)

总结

以上是内存溢出为你收集整理的ios – CNContactViewController()的“创建新联系人”和“添加到现有联系人”全部内容,希望文章能够帮你解决ios – CNContactViewController()的“创建新联系人”和“添加到现有联系人”所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1098484.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-28
下一篇 2022-05-28

发表评论

登录后才能评论

评论列表(0条)

保存