我有一个从服务器下载图像/上下文的应用程序。
将图像保存到/ documents,将上下文保存到数据库coredata。
假设我已经下载了所有数据(应用程序显示了所有必要的数据(图像/上下文)),由于某种原因,我在testflight中上传了新版本的应用程序,然后在设备上更新了该应用程序,并在运行该应用程序时现在,它不会显示我在上一版本中下载的图像,但仍具有上下文。所以我的问题是新版本是否删除了/ documents中的所有数据?如果是这样,我怎么还有上下文数据(数据库coredata)?
最佳答案
您的应用程序是否使用了Documents文件夹的绝对路径?如recorded here一样,这很糟糕。
您通常希望使用类似:
- (NSString *)documentsDirectory
{
if (_documentsDirectory == nil)
{
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
self.documentsDirectory = [paths objectAtIndex:0];
}
return _documentsDirectory;
}
动态获取路径。然后,您可以使用以下命令记录其内容并查看其中的内容:
NSArray *documentsDirectory = [fileManager contentsOfDirectoryAtPath:self.dataController.documentsDirectory error:NULL];
NSLog(@"documentsDirectory is: \n%@", [documentsDirectory description]);