2015-12-03 122 views
0

我的應用程序從互聯網上下載數據,然後將其存儲在設備上的某個位置,因此當用戶沒有互聯網連接時,數據仍然可用。我知道緩存文件夾,但根據Apple的說法,如果設備磁盤空間不足,該目錄將被刪除。這對我的應用來說確實是一個問題,因爲這可能會導致用戶磁盤空間不足和互聯網連接不穩定。iOS永久緩存目錄

我的問題:我在哪裏可以保存這些文件,而不會由於磁盤空間不足或其他因素而被系統刪除。我不能將它放在文檔目錄中,因爲Apple會拒絕我的應用程序。

我已經嘗試將其存儲在文檔文件夾中,然後使用以下代碼行來禁用iCloud備份。

try? NSURL.fileURLWithPath(self.path).setResourceValue(true, forKey: NSURLIsExcludedFromBackupKey) 

但是,根本不起作用,它返回「()」。

回答

0

the doc

IN SWIFT處理錯誤:在夫特,此方法返回空隙和是 標有拋出關鍵字,以表明它在 例失敗引發錯誤。

所以()是預期的結果。 「工作」的真正考驗是文件內容是否可檢索以及它們是否不同步到雲。

另外,我更喜歡使用NSCaches目錄的最初想法。對於可以通過提取重新獲取的內容,它是,確切地說是,但是一直花費太多。讓它清空以保持設備正常運行聽起來像是正確的行爲。

您給自己提供豐富內容的要求,對設備的內存影響很小,並且在網絡很少或沒有網絡的情況下運行良好,這是一個非常高的標準......在我看來,與任何人相比,其他。

在我看來合理的檢測一個沒有緩存,低內存,斷開連接的情況,只是向用戶道歉。告訴他們他們的錯。