我有一个大问题。
我想将带有空投的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项目也很有帮助。

10-08 05:42