2015-12-15 169 views
0

我新的iOS開發,所以請原諒,如果我問一個愚蠢的問題後,抓取以前保存的數據庫文件。重新安裝應用程序

我需要檢查,如果我從以前的安裝相同的應用程序的sql文件中的設備目錄中已經存在。如果是,那麼我需要取出該文件而不是製作新文件。但重新安裝應用程序後,應用程序的包文件夾會發生變化。所以我猜不到以前安裝的應用程序包文件夾的名稱。我試圖在設備的其他地方保存它,但它不允許我。請給我解決方案。

回答

0

你所要求的是不可能的。如果一個應用程序被刪除,它的所有文件也會被刪除。在iOS中,沒有應用程序中立位置來存儲文件。當僅更新應用程序時,從應用程序的角度來看,更新「就地」發生,並且所有以前的文件都可用。

如果你想要的文件生存刪除,重新安裝週期,你將不得不使用雲服務,如iCloud中,Dropbox的或谷歌驅動器。

0

一旦刪除了應用程序。應用程序包和文檔目錄以及所有文件(包括SQLite文件)都被刪除。你必須從API獲取所有數據。

0

在iOS中,每個應用程序都是一個沙盒。這個沙盒由應用程序包和可變部分組成,您可以在其中存儲數據庫和其他文件,這些文件在應用程序的使用期限內發生了變化。

當你刪除的應用程序,整個沙箱被刪除。沒有得到刪除的唯一東西是你存儲在鑰匙串中的數據。

當你更新應用程序,唯一的應用程序包更新,並且可變的部分保持不感動。因此,在重新安裝應用程序時(在技術上更新設備上的現有應用程序)時,您可以從同一位置找到相同的文件。

+0

如何獲得該位置? –

+0

我知道我的sql文件仍然存在。我可以手動轉到該應用程序之前安裝時保存的文件夾並檢查。我檢查過,即使重新安裝後,文件也存在。但是,如何在安裝後獲取之前保存的文件的位置? –

+0

獲取Document目錄的路徑並在文件所在的位置追加路徑組件。 – Apurv

0

你可以做一件事,你可以採取遠程服務器上的文件的日常備份,當您重新安裝應用程序檢查文件服務器上存在,如果存在,不是下載其他新建。

相關問題