2014-09-25 113 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中安全增強的新變化,因此您絕不應該保持絕對路徑。