将包内容作为NSData获取

时间:2016-10-06 16:44:06

标签: ios package nsdata nsfilewrapper

我的应用程序创建了一些备份文件作为Packages(实际上是带有扩展名的目录,以及符合com.apple.package的Exported UTI)。

我希望能够将它们作为NSData读取,我可以将其附加到MFMailComposeViewController中的电子邮件中。实际上,它不起作用,因为当我尝试读取包时dataWithContentsOfURL:返回nil(我认为因为它是一个目录,而不是常规文件)。

我知道我的包文件很好,因为当我从iPhone下载“app container”时,我可以在Mac上访问它们。

我使用NSFileWrappers生成它们,并调用writeToURL:options:originalContentsURL:error:方法。 我不想使用serializedRepresentation因为它生成只能由NSFileWrapper读取的NSData(我希望能够通过单击“显示包内容”在我的Mac上打开它们)。

以下是不起作用的代码部分:

NSURL *finalBackupURL = [outputDirectoryURL URLByAppendingPathExtension:@"ext"];
if (![packageWrapper writeToURL:finalBackupURL options:0 originalContentsURL:nil error:error])
    @throw [NSException exceptionWithError:*error];

NSData *data = [NSData dataWithContentsOfURL:finalBackupURL];

data = nil,而文件已经创建好了)

感谢您的帮助

0 个答案:

没有答案