2016-04-04 7 views
0

アドレス帳のフレームワークを処理していたのでしばらくしていました。vCardを共有するためのUIActivity

私のような何かをvCardのにUIActivityViewController.activityItemsを設定する際の自由のためのいくつかの「追加アドレス帳へ」機能を取得する方法がある場合は疑問に思って:、

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をサポートしている場合:アドレス帳連絡先フレームワーク私は人を作成し、許可を求めてビューコントローラを提示します。

UIActivityViewControllerで連絡先を追加または共有する方法を提供したい場合は、方法がありますか?

編集:上記のコードは機能しません。対応するiOSシステムの連絡先のアクティビティが表示されます。 Evernoteは正しい名前のアクティビティを表示します。 evernoteに追加すると、vCardが正しい詳細でメモに表示されます。

+0

@Hiren Dhamecha「連絡先へコピー」するオプションがあります:編集したリトルの上に?申し訳ありませんが、なぜこれらのすべてのものを強調表示していますか? 「アドレス帳に追加」は、コードでも公式な用語でもありません。 "iOS 8 and 9"も。そしてiOS自体はバックティック?変更を受け入れた3人の改造者について:??? –

+1

これに関連するモデムはありません。コミュニティプロセスです。これらはユーザによる編集提案です*改訂ではなく、ユーザレビューア*の承認を受けています。質問の所有者は、これらの編集を拒否したり、いつでも以前のバージョンにロールバックすることができます。 //そして、「ロボは提案された編集を承認しました」は、SOが取り組もうとしている問題です。 – Moritz

+0

@EricD Yikes、私は "コミュニティ改造者"のようなものを、彼らの特権によってちょうど意味しました。しかし、プロセス全体、特に変更を拒否する可能性について明確にしてくれてありがとう!私は手動ロールバックを行った(a.k.a.タイピング)。私は「ロボ承認」について完全に同意します。編集/承認は、技術用語に精通している場合にのみ行うべきです。 –

答えて

1

代わりに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]; 

このようなもので

関連する問題