2013-02-09 71 views
3

我的應用程序有可下載的應用內購買。當內容被下載時,我現在將其存儲在文檔目錄中。但我知道蘋果是挑剔的,可能會拒絕我的應用程序,因爲可以恢復的內容不應該存儲在文檔目錄中,這意味着它將被保存到icloud。在哪裏存儲可下載的應用內購買?

我想過使用臨時目錄或緩存目錄,但是這些可以在iOS需要空間時隨時清空。

我應該在哪裏保存它?

回答

6

Documents目錄只能用於無法下載的用戶生成數據(包括包含用戶可選設置等的潛在數據庫),所以您是對的,如果您在那裏存儲可下載內容,您可能會被拒絕。

我已經做到了對下載的數據一小塊數據存儲在Cache(正如你說的可以在時空間不足的任何時間被清除),並存儲在Documents的方式,指出該內容應該Cache。當Documents表示數據應該存在並且不存在時,我會通知用戶由於空間問題iOS內容已被自動刪除,並且提供給用戶再次下載。

這樣,如果用戶暫時不使用該內容,他可以在他的設備上重新使用其他空間,並且仍然可以隨意再次下載內容。就像我想要一個應用程序工作,如果我是用戶:)

編輯:你可以把他們在Library如果你需要他們永遠持久,但記得要標記他們not backed up to iCloud或者你會最可能會得到同樣的拒絕。

+0

好的,但如何在庫中創建一個新的目錄並將其存儲在那裏? – SpaceDog 2013-02-09 17:00:05

+0

@橡皮鴨也可以,請參閱編輯。 – 2013-02-09 19:30:02

+0

謝謝,這正是我期待的確認。 – SpaceDog 2013-02-11 17:21:37

0

這裏的文檔https://developer.apple.com/library/ios/documentation/NetworkingInternet/Conceptual/StoreKitGuide/Chapters/DeliverProduct.html#//apple_ref/doc/uid/TP40008267-CH5-SW5

Documents文件夾,如果你想讓它堅持到移動內容的地方。

在iOS中,您的應用可以管理下載的文件。備份標誌未設置,Catch目錄中的Store Kit框架將爲您保存這些文件。下載完成後,您的應用程序負責將其移至適當的位置。對於設備磁盤空間不足(可以在您的應用程序重新下載時)可以刪除的內容,將文件保留在Caches目錄中。否則,請將這些文件移至Documents文件夾並設置該標誌以將其從用戶備份中排除。