我使用afnetworking框架下载pdf文件,然后将文件保存在此路径上。
NSURL *documentsDirectoryURL = [NSBundle.mainBundle.resourceURL URLByAppendingPathComponent:@"file.pdf"];
当我尝试使用模拟器访问该文件时。它工作正常。但什么时候在真实设备上访问。
File at /var/mobile/Applications/40F3BDE0-F4B1-4C85-A32C-FEB08450646A/appname.app/file.pdf does not exist.
我认为有些沙盒问题。但如何摆脱这个问题。请帮忙。 提前致谢
答案 0 :(得分:1)
App的捆绑包是只读的,您无法将文件保存到捆绑包中。相反,您可以将其保存在应用Documents
目录中。
- (NSURL *)applicationDocumentsDirectory {
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory
inDomains:NSUserDomainMask] lastObject];
}
NSString *path = [[self applicationDocumentsDirectory].path
stringByAppendingPathComponent:@"fileName.pdf"];
修改强>
Documents
目录中的所有文件都是可共享的,这意味着其他应用程序可以访问它。因此,如果您放置了用户无法查看的任何数据,请不要将其放在文档中,而是使用Library
文件夹。详细了解here