2011-08-08 76 views
0

我有一個iPhone應用程序,其中包含存儲與圖書相似的所有信息的SQLite數據庫。用戶只能讀取數據庫中的信息,並且不會更新它,因爲應用程序不允許更新數據。升級時,數據庫和應用程序的內容都將被替換。我想知道:更新應用程序時替換SQLite數據庫內容

  1. 什麼是最好的方式來處理升級,因爲我想用一個新的完全覆蓋數據庫。
  2. 其實我現在有一個新版本待蘋果審查,我完全錯過了這個問題。由於這是我的第一個iPhone應用程序,我不知道我能做些什麼來處理這種情況。誰能幫忙?
+0

你的db存儲在哪裏?在應用程序包中?或者在第一次應用程序啓動時將它複製到文檔或庫文件夾中?這聽起來不是什麼大問題。如果需要,您可以拒絕上傳的二進制文件,以免它被釋放。 – marcus

+0

Marcus,它的處理方式與配方示例相同,它在第一次應用啓動時被複制到庫文件夾。 – Conway

+0

我應該拒絕上傳的二進制文件嗎? – Conway

回答

1

我不知道我是否正確地閱讀了您的問題,因此我將重新解釋它。

我有一個應用程序,從一個sqllite數據庫讀取,而當我更新的應用程序,我想分貝也

右更新?如果是這樣,這是一個答案。

Trying to overwrite sqlite database in iPhone app update

+0

sqlite數據庫保存在應用程序資源文件夾中,並在運行時填充。就像食譜示例 – Conway

+0

一樣謝謝@Mike,我已經通過你鏈接的帖子了。和本傑明一樣,我也有同樣天真的問題。如果數據庫被添加到項目中,是否意味着它在應用程序包內? – Conway

+0

最後,我選擇刪除舊數據庫,並在首次啓動時替換爲新數據庫。有用。 – Conway

0

您只能修改文件in a couple subdirectories of the application’s home directory。對於數據庫文件,您可能需要Documents目錄(如果啓動時尚未存在,只需將其從應用程序包中複製),然後執行安全替換(請參閱NSFileManager)。我在MediBabble做這件事。

+0

實際上,您可以更改應用程序主目錄中的*任何*文件,而不僅僅是文檔目錄。 – tidwall

+0

@jojaba:我錯了,但顯然它只是主目錄的一個子集:http://developer.apple.com/library/ios/#documentation/iphone/conceptual/iphoneosprogrammingguide/StandardBehaviors/StandardBehaviors.html –

相關問題