我相信这大约是你正在寻找的东西:
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项目也有帮助。
您接收器的设备是否可以将输入的AirDrop直接导入系统联系人/电话应用程序? – ccjensen
我#对不起,我不知道你的意思。 – Alex
让我试着以不同的方式提出这个问题。您希望在设备上获得哪些体验以减轻AirDrop请求? – ccjensen