2014-11-22 69 views
1

我遇到了一個問題,我找不到解決方案。我已經廣泛搜索論壇,但找不到任何東西。希望有人能夠闡明一些看法。xCode:從應用程序文檔目錄檢索圖像

我有一個應用程序,可以保存圖像。它們被保存到應用程序文檔目錄中,並且它們的路徑被保存在一個sqlite數據庫中。每次運行/構建應用程序時,都無法再檢索已存在於文檔目錄中的圖像。在相同的構建階段,我可以重新保存圖像,然後我可以很好地檢索它們,但只要我再次運行/構建應用程序,它就無法檢索圖像。圖像未被刪除,路徑仍然正確。

這是我如何努力獲取他們在我viewDidLoad方法

//database was opened. Getting path to image 
NSString *logoPath = [[NSString alloc] initWithUTF8String:(const char *) sqlite3_column_text(statement, 21)]; 
//use path to load image to a UIImage view 
[self.logoView setImage:[UIImage imageWithContentsOfFile:logoPath]]; 

我已確認該圖像是在文件目錄仍和路徑在上面的代碼我的第一行正確分配。此代碼只在運行/構建應用程序時失敗。一旦應用程序正在運行,我可以將圖像保存到目錄中,並使用相同的代碼檢索它們,但是一旦我再次運行/構建應用程序,即使我可以保存先前版本中保存的圖像在目錄中看到它們(我使用iExplorer查看我的iPhone目錄)。

任何想法?我想,也許我必須以某種方式在目錄中啓動這些圖像,以便在構建完成後立即使用它們。

更新 - 一些更多的信息,以防情況會有所幫助。在我的iPhone上構建應用程序後,我可以關閉應用程序並重新打開它,並且圖像工作得很好。我甚至可以完全關閉應用程序(雙擊主頁按鈕並結束應用程序進程),當我重新啓動應用程序時,圖像從目錄中檢索得很好。但只要我通過xCode再次構建應用程序,我就無法訪問這些圖像。當一個新的構建完成時,某些事情正在發生變化。

更新2 - 我想我找到了問題,它在路徑中。 這是我的路

/var/mobile/Containers/Data/Application/8A387845-7B1F-4228-9E7E-2498EC302C5A/Documents/RYal7UXrLvcompanyLogo.png

我再次構建應用程序後,這是現在新的路徑時,我保存圖像再次

/var/mobile/Containers/Data/Application/C0C30E2F-05D8-48F4-A0FF-603359AF5130/Documents/RYal7UXrLvcompanyLogo.png

貌似在應用程序之間的部分文檔在每次構建後都會更改,所以我保存在sqlite數據庫中的路徑在新的b之後不再有效uild。所以現在我需要弄清楚中間部分是不斷變化的,以及在每次構建後如何獲得它,以便我可以更新我的路徑以獲得圖像。

+0

你所描述的應該是工作。在重新開始之後,您無需任何特殊的操作即可訪問現有文件。你確定'logoPath'是你對舊圖像的期望嗎?你看到的失敗的本質是什麼? – 2014-11-22 18:20:26

+0

謝謝本。我要深入瞭解LogoPath,看看我是否錯過了一些東西。失敗的本質是,當應用程序構建時,我的徽標(圖片)不會加載到我的UIImageView中。看到我上面添加到我的問題的更新。 – adrian1kat 2014-11-22 19:04:56

+0

感謝本,你讓我再次看到我的路徑,即使我相信自己他們是正確的。請參閱我的問題中的更新2。 – adrian1kat 2014-11-22 19:39:50

回答

1

問題是路徑。每次創建新構建時,文檔目錄的部分路徑都會更改。請參閱上面原始問題中的更新2。

相關問題