OGeek|极客世界-中国程序员成长平台

标题: ios - 通过空投发送 NSData [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-13 11:13
标题: ios - 通过空投发送 NSData

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

谢谢



Best Answer-推荐答案


我相信这大致就是您要寻找的:

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 的对象。协议(protocol),并让其中一些在适当的时候返回 nil(参见 SO 了解更多详情)。您可能会找到 AirDrop sample code Apple 的项目也很有帮助。

关于ios - 通过空投发送 NSData,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32999976/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://jike.in/) Powered by Discuz! X3.4