2014-01-30 21 views
8

我想設計一個應用程序,用於存儲iCloud上的文檔。但是在實際執行之前還有一些問題有答案。用於上傳和下載文件的iCloud集成

的問題有:

  1. 什麼是最大文件大小在iCloud上上傳?
  2. 我可以通過編程計算/知道用戶的 iCloud帳戶的可用空間嗎?
  3. 如何從 iCloud上傳和下載文件?

任何人都可以幫我嗎?我讀了蘋果文檔,但沒有完全理解所有的東西。

在此先感謝。

+0

看 「ICACloud:iCloud的」 在GitHub上,看到德魯麥科馬克在[博文](http://mentalfaculty.tumblr.com)。好東西! – zaph

+0

我該如何編程 – RaviJSS

回答

10

儘管你提到你已經閱讀過蘋果icloud文檔,但蘋果的designing for icloud documentation page仍然是這個問題的一個很好的起點。

文件大小限制

文檔沒有指定文檔文件大小限制,也不是核心數據存儲限制,不是用戶帳戶的iCloud存儲津貼等。 關鍵值的存儲空間限制爲1Mb(值 - 密鑰對中),這可能是您的問題,但除此之外,只要用戶有足夠的空間,您似乎可以存儲大型文件可用。

考慮到5GB的默認量,佔默認用戶存儲需求(照片,聯繫人,日曆等),你可能會遇到極限文檔核心數據存儲,像任何其他應用程序。該file management for icloud頁提到了良好的應用程序行爲:

應用中有存儲數據時利用的iCloud存儲功能的優勢應該採取行動 負責任。每個 用戶帳戶中可用的空間有限,並由所有應用程序共享。此外, 用戶可以查看給定應用程序佔用了多少空間,並選擇刪除與您的應用程序關聯的文檔和數據。由於這些原因, 根據您的應用程序的興趣負責您要存儲的文件。

檢查可用空間編程

沒有

上傳/下載活動

的文件上傳和下載是由操作系統來處理。所有文件都存儲在本地,它來自本地存儲,您請求/修改/保存文檔。從基本面的iCloud頁面:

當你採用的iCloud,操作系統啓動並管理 上傳和附加到 iCloud帳戶的設備的數據下載。您的應用程序不直接與iCloud中 服務器進行通信,並且在大多數情況下,不會調用上傳或 數據的下載。

參見本app coda教程鍵值存儲積分的一個例子,本Tim Roadley教程核心數據存儲整合或本Ray Wenderlich教程文獻商店集成。

編輯:Document-Based App Programming Guide for iOS提供代碼片段,用於將文件移入/移出iCloud,上傳和下載以及監視文件更改。請參閱「從iCloud下載文檔文件」和「將文檔移動到iCloud存儲」。

+0

感謝您的回覆。我看到一些應用程序(例如Riddle的Documents)獲取上傳和下載文件事件的事件。你知道他們是如何實現的。 – Vijay

+1

是的,請參閱我答案末尾的修改。該蘋果開發者頁面有你可以使用的代碼示例。 –

+0

這真的是有用的信息。我正在上傳/下載文件存儲,但無法獲取上傳/下載完成的事件。 還面臨上傳/下載進度的問題。 – Priya