0

在 ios7 中,我们可以将图像写入文档目录并毫无问题地访问它。在 IOs8 中,我能够将图像数据写入文档目录并访问它。每次我在模拟器上运行应用程序时,图像文件夹的位置都会发生变化。我经历了许多堆栈溢出问题和苹果的技术说明(链接:https://developer.apple.com/library/ios/technotes/tn2406/_index. html ) 但我没有得到任何解决方案。实际上我将图像文件的路径存储在 sqlite 数据库中。

任何帮助表示赞赏。

4

1 回答 1

1

好像您正在存储完整的路径。

在IOS 8中,Apple更改了目录结构。Apple在内部扩展了文档目录中的文件夹(例如/developer/data/一些随机数序列)。目录文件夹在每次构建时都会不断变化,如果你将完整路径存储在你的sqlite中您在该位置找不到任何文件,因为文档目录位置已更改。

解决方案是不存储完整路径,只需将文档目录的路径存储到数据库中,访问图像时只需在当前应用程序文档目录前加上前缀,然后您就可以从您的应用程序目录访问您的图像

例子:

//Storing Images

NSString *imagePathString = [NSString stringWithFormat:@“/%@/%@.png”,@“Your Folder name”,@“image name”];

//Store this image path String to database

//Retrieving Images

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *filePath = [documentsPath stringByAppendingPathComponent:imagePathString];

//This is the path for your images
于 2014-11-13T09:50:42.833 回答