我有一个iOS应用程序,它将所有下载的*.pdf
文件存储在其缓存中。有没有办法防止这些数据被提取?加密还是其他什么?提前谢谢。
答案 0 :(得分:2)
有很多方法可以加密文件,我相信每个人都会对最佳方法有所了解。
在我最近一直在努力的项目中,我们一直在使用CommonCrypto(https://github.com/AlanQuatermain/aqtoolkit)。只需获取任何NSData,对其进行加密,然后将其保存到文件中,反之亦然。您甚至可以通过继承NSValueTransformer来编写一个简单的Transformer,它将所有加密抽象到一个位置,您再也不用担心它了。
答案 1 :(得分:1)
您可以使用密码保护PDF文件。我假设您创建的PDF文件不在应用程序中,而是在外部。例如,您可以在Mac OS X中使用 Preview.app 来使用密码保护现有PDF文件(点击Cmd-P,然后在打印菜单中选择PDF,您可以在那里设置安全选项或者更简单:在菜单中选择导出...)。
在iOS中,您可以打开PDF文件,如下所示:
CGPDFDocumentRef documentRef = CGPDFDocumentCreateWithURL((__bridge CFURLRef)[NSURL fileURLWithPath:filePath]);
if (!CGPDFDocumentIsUnlocked(documentRef))
CGPDFDocumentUnlockWithPassword(documentRef, password);
...
答案 2 :(得分:0)
实际上有2个文档文件夹,您的应用可以在其中存储内容。一个可以被提取,一个是私有的。检查此票证中接受的答案。
Access files in "private Documents" folder transferred with iTunes
答案 3 :(得分:0)
假设您希望在越狱设备上提取PDF文件,最直接的方法将是以下几行:
NSUserDefaults
您可能会发现源代码here非常有用。