【问题标题】:Naming file when sending PDF via AirDrop通过 AirDrop 发送 PDF 时命名文件
【发布时间】:2013-10-17 03:10:54
【问题描述】:

如果在 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];

【问题讨论】:

    标签: ios objective-c cocoa-touch pdf


    【解决方案1】:

    如果要共享 NSData,则必须将其包装在符合UIActivityItemSource 协议的对象中,并实现可选的协议方法activityViewController:dataTypeIdentifierForActivityType:。然而,这并不能解决指定文件名的问题,因为在这种情况下,系统似乎会根据 UTI 和一些哈希生成一个。

    如果您将数据写入文件并共享 NSURL fileURL 而不是 NSData,则将使用您为文件提供的文件名,该文件名将显示在接收设备的警报中。即使在这种情况下,也可能值得将 URL 包装在符合 UIActivityItemSource 的对象中,因为它使您能够使用可选协议方法 activityViewController:thumbnailImageForActivityType:suggestedSize: 提供预览图像等内容。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-04-24
      • 1970-01-01
      相关资源
      最近更新 更多