- (ID <QLPrevIEwItem>) prevIEwController: (QLPrevIEwController *) controller prevIEwItemAtIndex: (NSInteger) index { return [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource:[documents objectAtIndex:index] ofType:nil]];}
但是文件是加密的,当我解密它时,我会得到NSData对象.我如何在其中任何一个中加载NSData.
另外我理解我可以很好地将NSData存储为本地文件并将其加载到预览中.但是存在不在本地存储未加密文件的限制.
如果某人已经完成了这项工作并且可以帮助我,我们将不胜感激.
谢谢
AJ
这是你做的:
>将文件解密为NSData对象,您已经完成了该 *** 作.
>将文件写入不会上传到iCloud或iTunes备份的位置. tmp目录可能是最好的选择.代码看起来像这样:
NSData * data = // Your decrypted file data.Nsstring * filename = // Whatever you want to name your file.Nsstring * path = [NstemporaryDirectory() stringByAppendingPathComponent:filename];NSURL * url = [NSURL URLWithString:path];NSError * error = nil;BOol success = [data writetoURL:url options:NSDataWritingfileProtectionComplete error:&error];if (success) { // Give the URL to Quick Look.}else { // An error happened. See the 'error' object for the details.}
此时您有一个NSURL,您可以使用快速查看.完成后,请不要忘记删除已解密的文件.
有关磁盘加密的一些注意事项:
>它仅在iOS 4.0上受支持.
>它可能不适用于“旧”设备.
>用户必须拥有有效的密码.
>如果使用NSDataWritingfileProtectionComplete,则在设备锁定时无法访问该文件.如果您需要在应用程序被锁定时访问该文件,则应使用NSDataWritingfileProtectionCompleteUnlessOpen或NSfileProtectionCompleteUntilFirstUserAuthentication.即使设备被盗和越狱,这仍然会给你很大的保护.但请注意,这些加密选项仅适用于iOS 5.0
有关磁盘加密的更多详细信息,请查看iOS App Programming Guide
@H_419_0@ 总结以上是内存溢出为你收集整理的iphone – 使用QuickLook框架或UiDocumentInteractionController显示加密文件全部内容,希望文章能够帮你解决iphone – 使用QuickLook框架或UiDocumentInteractionController显示加密文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)