首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用于共享UIActivity的vCard

用于共享UIActivity的vCard
EN

Stack Overflow用户
提问于 2016-04-04 09:13:52
回答 1查看 466关注 0票数 1

有一段时间我不得不处理AddressBook框架了。

当将UIActivityViewController.activityItems设置为vCard时,我想知道是否有一种方法可以免费获得“Addressbook”功能,比如:

代码语言:javascript
运行
复制
    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)

我想绕开漫长的道路,特别是在支持iOS 8和9时:使用AddressBook和Contact框架,我将创建一个person,请求权限,并呈现视图控制器。

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

编辑:上面的代码不起作用,说到系统的联系人没有相应的iOS活动。Evernote使用并显示一个具有正确名称的活动。当添加到evernote中时,vCard将显示在带有正确细节的便笺中。

EN

Stack Overflow用户

发布于 2016-08-18 01:37:30

您可以尝试使用UIDocumentInteractionController代替。就像

代码语言:javascript
运行
复制
NSURL * url = [NSURL fileURLWithPath:"file://my.vcard"];
UIDocumentInteractionController *controller = [UIDocumentInteractionController interactionControllerWithURL:url];
[controller presentOpenInMenuFromRect:CGRectMake(0, 0, 300, 300) inView:self.view animated:YES];

这将可以选择“复制到联系人”。

票数 1
EN
查看全部 1 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36398644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档