小编C. *_*ows的帖子

如何创建要在共享表中使用的vCard/vcf文件?

我是swift的新手,我发现的方法因我的问题而被弃用.我正在构建一个目录应用程序,我从API中提取联系人数据,而不是从手机的地址簿中提取.

在iOS中,如果您转到地址簿,则可以选择联系人并选择"共享联系人",这将显示共享表.我想在我的应用程序中使用这个功能.

我已经找到了Share Sheets,这是我的代码:

    @IBAction func actShare(sender: AnyObject) {

    let activityViewController = UIActivityViewController(activityItems: ["text" as NSString], applicationActivities: nil)
    presentViewController(activityViewController, animated: true, completion: {})
}
Run Code Online (Sandbox Code Playgroud)

我想改成"text" as NSStringvCard,因为这是iOS从地址簿中分享的对象,对吧?假设我是对的,我想从我自己的应用程序的联系对象创建一个vCard,以便将其分享给适当的应用程序(电子邮件,短信等).

我怎样才能在Swift中实现这一目标?如果我错了,请纠正我并告诉我我需要做什么.谢谢.

编辑:好的,这是我的变化.

@IBAction func actShare(sender: AnyObject) {
    do {
        var contactData = NSData()
        try contactData = CNContactVCardSerialization.dataWithContacts([createContact()])

        let activityViewController = UIActivityViewController(activityItems: [contactData as NSData], applicationActivities: nil)
        presentViewController(activityViewController, animated: true, completion: {})
    } catch {
        print("CNContactVCardSerialization cannot save address")
    }
Run Code Online (Sandbox Code Playgroud)

func createContact() -> CNMutableContact {
    let contactCard = CNMutableContact() …
Run Code Online (Sandbox Code Playgroud)

addressbook abaddressbook ios swift

9
推荐指数
1
解决办法
4425
查看次数

标签 统计

abaddressbook ×1

addressbook ×1

ios ×1

swift ×1