2012-02-02 2 views
3

にUIPasteBoardからのvCardを貼り付けます。ただし、これがペーストボードにコピーされている場合、Mailはペーストオプションを提供しません。間違ったことをやっているのですか、Mailはそのペーストボードの種類を認識しませんか?メールは、あなたがそれをペーストすることはできませんので、もしは、次のように、私は一般的なペーストボードに(バンドルに含まれる)のvCardをコピーメール

答えて

0

あなただけのメールがそのタイプを貼り付けサポートしていないことを意味し、あなたのコード内のすべてが正しいようそう

MFMailComposeViewController *mailViewController = [[MFMailComposeViewController alloc] init]; 
NSString *filePath = [[NSBundle mainBundle] pathForResource:@"AM ofType:@"vcf"]; 
NSData *data = [NSData dataWithContentsOfFile:filePath]; 
[mailViewController addAttachmentData:data mimeType:@"text/vcard" fileName:@"AM.vcf"]; 
mailViewController.mailComposeDelegate = self; 
[self presentModalViewController:mailViewController animated:YES]; 
[mailViewController release]; 
+0

おかげで、しかし、あなたは聞かれませんでした質問に答えるされていますNSDictionaryのでそれを試してみてください。また、あなたの答えに間違ったMIMEタイプを指定しています - それはテキスト/ vcard – RunLoop

+0

である必要があります申し訳ありませんが、私はあなたの質問に誤解しました。クリップボードにコピーしてMFMailComposeViewControllerに貼り付け、mimeを編集しておきたいと思っていました。 – shabbirv

0

ようなメッセージに直接追加することができます。

編集:

UIPasteboard *gpBoard = [UIPasteboard generalPasteboard]; 

NSData *data = [NSData dataWithContentsOfFile:filePath]; 

NSDictionary *item = [NSDictionary dictionaryWithObjectsAndKeys: 
         data, (NSString *)kUTTypeVCard, 
         nil]; 

gpBoard.items = [NSArray arrayWithObjects:item, nil]; 
+0

vcardを別のメールにコピーして新しいメールに貼り付けると、vcardを実際にメールに貼り付けることが可能であることが分かりました。問題はそうではなく、方法である。 – RunLoop

+0

編集を参照してください。作業用のvcardに貼り付けるコードを追加して検査することができます。 –

+0

が動作しない – RunLoop

関連する問題