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