2014-09-25 115 views
0

随着升级到IOS8和Xcode 6.0.1,我注意到在我的应用程序中添加图像,将它们写入文件并显示它们这已经工作了2年多了。它在拍照和保存时正常工作 - 显示效果很好。我将FilePath存储在Core Data中。但只要我关闭应用程序并重新打开,或者再次运行模拟器,它就会消失。IOS每次打开应用程序或从Xcode运行时都会创建新的应用程序ID

我跟踪了每次在设备或模拟器上运行时,文档目录字符串发生更改,应用程序标识更改的问题,因此图像在路径中找不到,因为它似乎无法找到访问它具有的以前的应用程序ID的路径。

我找了这个,找不到任何答案。有没有其他人看到这一点,并有什么建议,我可以解决它。非常感谢!

Kat

编辑 - 我已添加此代码示例。每当我运行我的应用程序,这是改变的道路。

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); 
    NSString *documentsDirectory = [paths objectAtIndex:0]; 
    NSLog(@"documents directory %@", documentsDirectory); 
+0

你能发布你的代码吗? – JustinJDavies 2014-09-25 22:31:50

+0

我已添加,谢谢您的回复 – Kat 2014-09-25 23:05:48

回答

0

最后,我将这些文件添加到Core数据中,因为它们是从Core Data对象引用的。

1

存储您的相对路径,但不是绝对路径。由于安全,App容器在每次启动时都会更改。

NSURL *tmpDirURL = [NSURL fileURLWithPath:NSTemporaryDirectory() isDirectory:YES]; 
NSURL *fileURL = [[tmpDirURL URLByAppendingPathComponent:@"MyPic"] URLByAppendingPathExtension:@"jpg"]; 
NSLog(@"fileURL: %@", [fileURL path]); 
0

这是iOS8中安全增强的新变化,因此您绝不应该保持绝对路径。