[英]Does my app will be rejected if i store 1MB of sqlite db in NSDocument directory?
[英]Where should I store the SQLite DB for my iPhone app?
我在市場上有幾個iOS應用程序,在所有這些應用程序中,我有一個連接到應用程序的小型SQLite數據庫文件,為用戶提供我的數據。 安裝后,用戶可以通過更改某些選項來自定義此DB。
到目前為止,所有這些應用程序都將數據庫存儲在NSDocumentsDirectory
。 提交我的上次更新后,它被拒絕將數據存儲在錯誤的位置。 對於拒絕的應用程序,我將存儲位置更改為NSCachesDirectory
。 我現在擔心緩存將被清除並刪除用戶自定義。 該應用程序仍然可以運行,數據庫將被重新創建,但所有更改的表都將被重置,從而擾亂用戶。
這種類型的數據庫文件應該存儲在何處? 我把它放在Docs目錄中是對的嗎? 根據Apple的說法,Docs目錄是針對“關鍵數據”,它是用戶生成的數據或正確運行應用程序所需的數據。 我覺得它屬於那個類別,堅持我的用戶設置是正確的操作,但誰想等待上訴?
6年更新:
將數據存儲在NSCachesDirectory
導致錯誤,正如預期的那樣,只要設備感覺到,用戶自定義數據就會被刪除。 經過多次嘗試與Apple應用程序評論爭論點后,我終於發布了一個更新,其中數據現在存儲在NSDocumentsDirectory
中的自定義目錄中(應該如此),這解決了所有上述問題。
如果您的數據庫確實包含用戶生成的內容,則Documents目錄是其正確的位置。
但是,您提到您持久保存“用戶設置”...如果您持久存儲的數據更類似於設置或首選項,則它們應駐留在默認子系統中。 請參閱NSUserDefaults的文檔。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.