通过空投发送 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 项目的对象。
我有一个(对我来说)大问题。
我想从我自己的应用程序发送一个带空投的 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 项目的对象。