2014-02-19 128 views
1

我正在創建一個應該下載大量JSON文件的應用程序,並且第一次啓動時,我正在考慮在應用程序文件夾中插入這些文件。通過這種方式,當用戶下載應用程序時,不需要第一次下載這些文件,我可以離線填充數據庫。 然後,(例如幾個小時),這個應用程序下載新文件(在後臺下載,解析和更新數據庫),它具有所有數據更新。 這是完美的,但它有一個大問題:如果用戶刪除應用程序並再次下載(例如一週後),他可以查看舊數據; 什麼可以解決這個「問題」?iOS:在第一次啓動應用程序時管理數據

謝謝

回答

2

iOS應用程序只能寫入數據到它的文件夾。此文件夾將與應用程序一起完全刪除。所以沒有理由擔心舊數據。

更新: 應用程序文件夾被完全刪除。但是,如果用戶開啓此功能,舊數據可以與iCloud同步。爲避免這種情況,您應該將數據標記爲禁止同步。你可以在這裏找到解決方案Prevent iCloud sync of data (using .nosync?)

+1

對此的一個警告 - 如果數據存儲在鑰匙串中,則在應用程序被刪除時它不會被刪除。如果舊數據不需要,應採取其他預防措施。 –

+0

有用的筆記。 +1。 – Avt

+0

是的,但在應用程序保持舊數據,當你再次下載它 – CrazyDev

0

這不是一個問題 - 如果用戶從現在起2個月內安裝你的應用程序,他還將擁有「舊」數據,直到從網絡獲取任何更新的數據。如果您想要在您的應用中提供的數據在幾周後沒有任何價值,那麼爲什麼還要預加載它呢?

您應該嘗試儘快從網站加載更新的數據,以確保用戶看到的數據是最新的數據。

順便說一句,您還可以爲您的應用程序提供預加載的數據庫 - 您無需在第一次啓動時使用JSON文件填充空數據庫。

+0

mmm好吧,那麼你建議不要在開始時存儲數據...並儘快下載所有數據...好吧 – CrazyDev

+0

這取決於:if在一開始就有一些數據是有意義的 - 比方說一些歡迎文本 - 這在2個月內也是有用的,初始加載需要數小時,然後預加載它。如果將來數據或多或少沒有用處,並且用戶需要當前數據,則不要擔心預加載。 – TheEye

相關問題