2015-10-07 78 views
2

我有一個(對我來說)大問題。 我想從我自己的應用程序發送一個帶有空投的vcf文件到另一個iOS設備。我有一個NSData對象,我應該將其轉換爲vcf文件,並且我應該使用空投將其發送到另一個IOS設備。
NSData對象工作正常,我可以發送電子郵件的VCC文件,但與空投我離開了我的極限。 我嘗試了在論壇和developer.apple.com上發現的所有內容。但沒有任何工作,我認爲原因是,我不知道如何開始修復這個問題。 有沒有人有任何想法我怎麼能實現它?通過Airdrop發送NSData

THANKS

+0

您接收器的設備是否可以將輸入的AirDrop直接導入系統聯繫人/電話應用程序? – ccjensen

+0

我#對不起,我不知道你的意思。 – Alex

+0

讓我試着以不同的方式提出這個問題。您希望在設備上獲得哪些體驗以減輕AirDrop請求? – ccjensen

回答

1

我相信這大約是你正在尋找的東西:

NSString *contactName = nil; // name of person in vcard 
NSData *vcfData = nil; // vcard data 
NSURL *fileURL = [NSURL fileURLWithPath:[NSTemporaryDirectory() stringByAppendingPathComponent:[NSString stringWithFormat:@"%@.vcf", contactName]]]; 
NSError *writeError; 
if ([vcfData writeToURL:fileURL options:NSDataWritingAtomic error:&writeError]) { 
    NSArray *activityItems = @[fileURL]; 
    UIActivityViewController *avc = [[UIActivityViewController alloc] initWithActivityItems:activityItems applicationActivities:nil]; 
    [self presentViewController:avc animated:YES completion:nil]; 
} else { 
    // failed, handle errors 
} 

如果你仍然想支持提供NSData的一些活動,你將不得不創建符合某些對象UIActivityItemSource協議,並有適當的情況下返回零(有關更多詳細信息,請參閱此SO)。您可能會發現Apple的AirDrop sample code項目也有幫助。