如果在 iOS 7 中通过 AirDrop 发送从应用程序生成的 PDF,关于如何设置文档标题有什么想法吗?
平时搜索SO和文档都没有回答我的问题
NSString *fileName = [NSString stringWithFormat:@"userCert_%@",self.certificate.reference];
NSData *cert = self.pdfData;
UIActivityViewController *activityCtr = [[UIActivityViewController alloc] initWithActivityItems:@[cert]
applicationActivities:nil];
NSMutableArray *excludedActivities = [self iOS6Activities].mutableCopy;
[excludedActivities addObject:UIActivityTypeAddToReadingList];
[excludedActivities addObject:UIActivityTypePostToFlickr];
[excludedActivities addObject:UIActivityTypePostToTencentWeibo];
[excludedActivities addObject:UIActivityTypePostToVimeo];
[activityCtr setExcludedActivityTypes:excludedActivities];
[self presentViewController:activityCtr
animated:YES
completion:nil];
最佳答案
如果要共享NSData,必须将其包装在一个符合UIActivityItemSource
协议(protocol)的对象中,并实现可选的协议(protocol)方法activityViewController:dataTypeIdentifierForActivityType:
。然而,这不会解决指定文件名的问题,因为在这种情况下系统将根据 UTI 和一些哈希生成文件名。
如果您将数据写入文件并共享一个 NSURL 文件 URL 而不是 NSData,您为文件提供的文件名将被使用,这就是接收设备上警报中显示的内容。即使在这种情况下,也可能值得将 URL 包装在符合 UIActivityItemSource 的对象中,因为它使您能够使用可选协议(protocol)方法 activityViewController:thumbnailImageForActivityType:suggestedSize:
提供预览图像等内容。
关于ios - 通过 AirDrop 发送 PDF 时命名文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19277460/