Ios UID共享vCard的活动
我已经有一段时间没有处理AddressBook框架了 我想知道在将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
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”,只是因为他们的特权。但感谢您对整个过程的澄清,特别是关于拒绝更改的可能性!我做了一次手动回滚(又称打字)。我完全同意“机器人审批”,只有当有人熟悉技术术语时,才应进行编辑/审批。