如果在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];
答案 0 :(得分:6)
如果要共享NSData,则必须将其包装在符合UIActivityItemSource
协议的对象中,并实现可选的协议方法activityViewController:dataTypeIdentifierForActivityType:
。然而,这并不能解决指定文件名的问题,因为在这种情况下,系统将基于UTI和一些散列生成一个文件名。
如果将数据写入文件并共享NSURL fileURL而不是NSData,则将使用您为该文件提供的文件名,并且是接收设备上的警报中显示的文件名。即使在这种情况下,也可能值得将URL包装在符合UIActivityItemSource的对象中,因为它可以使用可选的协议方法activityViewController:thumbnailImageForActivityType:suggestedSize:
来提供诸如预览图像之类的内容。