如何在Swift中从QR码保存vCard

阿洛维

swift的QR Code的输出是一个String,QR Code如果Code包含vCardwith ,我需要保存swift

我收到一条错误消息,提示它无法将CNContacts强制转换为CNMutableContacts

func foundCode(code: NSString) {

    // Check if the QR Code is a website, contact, text etc

    let types :NSTextCheckingType = [.Link , .PhoneNumber, .TransitInformation]


    let checkTextType =  try? NSDataDetector(types: types.rawValue )

    let matchs = checkTextType?.matchesInString(code as String, options: .ReportCompletion, range: NSMakeRange(0, (code as String).characters.count))

    for match in matchs! {
        if match.resultType == NSTextCheckingType.Link {
            UIApplication.sharedApplication().openURL(NSURL(string: code as String)!)
        }
        if match.resultType == NSTextCheckingType.PhoneNumber {

            let vcard: NSData = code.dataUsingEncoding(NSUTF8StringEncoding)!
            let contactStore = CNContactStore()


            do {

                let saveRequest = CNSaveRequest() // create saveRequests

                let contacts  = try? CNContactVCardSerialization.contactsWithData(vcard) // get contacts array from vCard

                print("\(contacts)")

                for person in contacts! {


                      saveRequest.addContact(person as! CNMutableContact, toContainerWithIdentifier: nil) // add contacts to saveRequest

                }

                try contactStore.executeSaveRequest(saveRequest) // save to contacts

            } catch  {

                print("Unable to show the new contact") // something went wrong

            }
        }
    }
 }
尼拉夫D

您正在尝试转换immutableobject mutable,这就是为什么出现此错误的原因。saveRequest.addContact像这样改变你的

saveRequest.addContact(person.mutableCopy() as! CNMutableContact, toContainerWithIdentifier: nil)

希望这会帮助你。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在Phonegap中显示QR码

来自分类Dev

如何在Axapta 2009中创建QR码

来自分类Dev

如何在Google Glass Android中读取QR码?

来自分类Dev

如何在Odoo的POS收据中添加QR码图像

来自分类Dev

生成QR码后如何保存名称

来自分类Dev

如何检测图像中的QR码图案?

来自分类Dev

如何在Android中以人像模式在Fragment中实现QR码扫描仪?

来自分类Dev

如何在设备管理器中配置QR码中嵌入的URL

来自分类Dev

如何在另一个活动中扫描QR码的内容?

来自分类Dev

如何在自定义对话框中显示QR码扫描结果?

来自分类Dev

如何在Flutter中扫描QR码后自动打开链接而不单击某些按钮

来自分类Dev

如何在Windows Phone 8.1应用程序中扫描QR码?(不是Silverlight应用)?

来自分类Dev

如何在vCard 2.1中添加URL?

来自分类Dev

如何在vCard 2.1中添加URL?

来自分类Dev

BIRT中的QR码

来自分类Dev

如何在中间创建带有徽标的QR码

来自分类Dev

如何在中间创建带有徽标的QR码

来自分类Dev

如何使用laravel在QR码中存储Multipale数据

来自分类Dev

如何调整QR码大小?

来自分类Dev

如何调整QR码大小?

来自分类Dev

动态QR码如何工作?

来自分类Dev

QR码中的多个链接

来自分类Dev

通用Windows中的QR码

来自分类Dev

如何将我们的ZPL码中的条形码更改为QR码?

来自分类Dev

如何在Android中将二维码保存到SDCard中?

来自分类Dev

将django python中的QR码保存为to_artistic方法的base64

来自分类Dev

如何在Xcode 8中编译Swift 2.3代码

来自分类Dev

如何在swift 4中将ASCII码序列转换为字符串?

来自分类Dev

如何在不使用任何第三方应用程序的情况下在Android中读取或解码QR码?

Related 相关文章

热门标签

归档