Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UID共享vCard的活动_Ios_Swift_Abaddressbook - Fatal编程技术网

Ios UID共享vCard的活动

Ios UID共享vCard的活动,ios,swift,abaddressbook,Ios,Swift,Abaddressbook,我已经有一段时间没有处理AddressBook框架了 我想知道在将UIActivityViewController.activityItems设置到vCard时,是否有办法免费获得一些“添加到通讯簿”功能,例如: let vCardString = [ "BEGIN:VCARD", "VERSION:3.0", "N:Gump;Forrest", "FN:Forrest Gump", "ORG:Bubba G

我已经有一段时间没有处理AddressBook框架了

我想知道在将
UIActivityViewController.activityItems
设置到vCard时,是否有办法免费获得一些“添加到通讯簿”功能,例如:

    let vCardString = [
        "BEGIN:VCARD",
        "VERSION:3.0",
        "N:Gump;Forrest",
        "FN:Forrest Gump",
        "ORG:Bubba Gump Shrimp Co.",
        "TEL;TYPE=WORK,VOICE:(111) 555-1212",
        "END:VCARD"
        ].joinWithSeparator("\n")

    let vCardData = vCardString.dataUsingEncoding(NSUTF8StringEncoding)!
    let vCardActivity = NSItemProvider(item: vCardData, typeIdentifier: kUTTypeVCard as String)

    // URL, test,
    let activityViewController = UIActivityViewController(activityItems: [vCardActivity], applicationActivities: activities)
我想绕开长途跋涉,尤其是在支持iOS8和iOS9时:使用AddressBook和Contacts框架,我将创建一个人,请求权限并显示视图控制器

如果我“只是”想通过
UIActivityViewController
提供一种添加或共享联系人的方法,是否有一种更简单的方法


编辑:上述代码不起作用,即没有显示系统联系人对应的
iOS
活动。Evernote采用并显示具有正确名称的活动。添加到evernote后,vCard将显示在一个带有正确详细信息的便笺中。

您可以尝试改用
UIDocumentInteractionController
。有点像

NSURL * url = [NSURL fileURLWithPath:"file://my.vcard"];
UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:url];
[controller presentOpenInMenuFromRect:CGRectMake(0, 0, 300, 300) inView:self.view animated:YES];

这将有选项“复制到联系人”

@Hiren Dhamecha:有点编辑过度?很抱歉,但是,为什么要在代码中突出显示所有这些内容?“添加到通讯录”既不是代码,也不是官方术语。还有“iOS 8和iOS 9”。而iOS本身呢?关于接受变更的3个MOD:???没有涉及MOD,这是一个社区过程。这些是由用户建议的编辑,由用户审阅者批准,而不是mods。作为问题的所有者,您可以随时拒绝这些编辑或回滚到以前的版本。//是的,“机器人批准建议的编辑”是SO试图解决的一个问题。@Eric Yikes,我的意思是“社区mods”,只是因为他们的特权。但感谢您对整个过程的澄清,特别是关于拒绝更改的可能性!我做了一次手动回滚(又称打字)。我完全同意“机器人审批”,只有当有人熟悉技术术语时,才应进行编辑/审批。