通过空投发送 NSData

Send NSData via Airdrop

我有一个(对我来说)大问题。 我想从我自己的应用程序发送一个带空投的 vcf 文件到另一个 iOS 设备。我有一个 NSData 对象,我应该将其转换为 vcf 文件,并且我应该将其与空投一起发送到另一个 IOS 设备。
NSData 对象工作正常,我可以用电子邮件发送一个 vcc 文件,但空投我离开了我的限制。 我尝试了我在论坛和 developer.apple.com 上找到的所有内容。但没有任何效果,我认为原因是,我不知道如何开始解决问题。 有谁知道我怎么能实现它?

谢谢

我想这就是您要找的内容:

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,您将必须创建一些符合 Apple 的 UIActivityItemSource protocol and have some of them return nil where appropriate (see this SO for more details on that). You might find the AirDrop sample code 项目的对象。