我有一个大问题。
我想将带有空投的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
}
如果仍要支持向某些 Activity 提供NSData,则必须创建一些符合UIActivityItemSource协议的对象,并让其中一些对象在适当的地方返回nil(有关此信息,请参阅SO)。您可能会发现Apple的AirDrop sample code项目也很有帮助。