我的應用程序有可下載的應用內購買。當內容被下載時,我現在將其存儲在文檔目錄中。但我知道蘋果是挑剔的,可能會拒絕我的應用程序,因爲可以恢復的內容不應該存儲在文檔目錄中,這意味着它將被保存到icloud。在哪裏存儲可下載的應用內購買?
我想過使用臨時目錄或緩存目錄,但是這些可以在iOS需要空間時隨時清空。
我應該在哪裏保存它?
我的應用程序有可下載的應用內購買。當內容被下載時,我現在將其存儲在文檔目錄中。但我知道蘋果是挑剔的,可能會拒絕我的應用程序,因爲可以恢復的內容不應該存儲在文檔目錄中,這意味着它將被保存到icloud。在哪裏存儲可下載的應用內購買?
我想過使用臨時目錄或緩存目錄,但是這些可以在iOS需要空間時隨時清空。
我應該在哪裏保存它?
Documents
目錄只能用於無法下載的用戶生成數據(包括包含用戶可選設置等的潛在數據庫),所以您是對的,如果您在那裏存儲可下載內容,您可能會被拒絕。
我已經做到了對下載的數據一小塊數據存儲在Cache
(正如你說的可以在時空間不足的任何時間被清除),並存儲在Documents
的方式,指出該內容應該在Cache
。當Documents
表示數據應該存在並且不存在時,我會通知用戶由於空間問題iOS內容已被自動刪除,並且提供給用戶再次下載。
這樣,如果用戶暫時不使用該內容,他可以在他的設備上重新使用其他空間,並且仍然可以隨意再次下載內容。就像我想要一個應用程序工作,如果我是用戶:)
編輯:你可以把他們在Library
如果你需要他們永遠持久,但記得要標記他們not backed up to iCloud或者你會最可能會得到同樣的拒絕。
我也讀過文檔文件夾是爲用戶生成的內容,並建議使用緩存文件夾,儘管您的數據可以在需要時刪除。我還讀到,使用具有no備份標誌的文檔文件夾可以在定位ios 5.1及更高版本時作爲選擇。
見 iOS 5.0.1 : How to verify that the folder is marked as "Do not back up" for iCloud?
Adding the "Do Not Backup" attribute to a folder hierarchy in iOS 5.0.1
說Documents
文件夾,如果你想讓它堅持到移動內容的地方。
在iOS中,您的應用可以管理下載的文件。備份標誌未設置,Catch目錄中的Store Kit框架將爲您保存這些文件。下載完成後,您的應用程序負責將其移至適當的位置。對於設備磁盤空間不足(可以在您的應用程序重新下載時)可以刪除的內容,將文件保留在Caches目錄中。否則,請將這些文件移至Documents文件夾並設置該標誌以將其從用戶備份中排除。
好的,但如何在庫中創建一個新的目錄並將其存儲在那裏? – SpaceDog 2013-02-09 17:00:05
@橡皮鴨也可以,請參閱編輯。 – 2013-02-09 19:30:02
謝謝,這正是我期待的確認。 – SpaceDog 2013-02-11 17:21:37