2012-09-09 78 views
6

目前我只有一個iOS設備,目前它還沒有成爲問題。但我現在想要將iCloud同步支持添加到我的應用程序(它使用核心數據)。測試與單個iOS設備的iCloud同步

只有當我得到第二個設備時,測試纔會變得簡單嗎?或者是否可以將iOS模擬器與我的設備一起使用,或者假冒iCloud數據以測試iCloud同步?

編輯:不需要太多研究就可以發現iCloud,特別是Core Data,絕對需要大量測試,這當然意味着使用多個設備進行測試!

+3

http://developer.icloud.com/允許您查看已同步幹什麼到iCloud。 – jrtc27

+1

到目前爲止,模擬器不能用於iCloud測試。希望蘋果會在某個時候允許。在Mac上配置相同的iCloud帳戶,您可以查看您在Mac上同步訪問「〜/ Library/Mobile Documents」的內容。 – Jorge

回答

3

您可以使用您的mac作爲第二個設備,並採取iOS核心數據代碼的後端,併爲mac編寫測試應用程序。您將不得不將應用程序作爲xcode中的沙盒應用程序運行,並將相同的沙盒名稱放在應用程序設置中以查看其他每個數據。

爲了使這項工作,你需要在配置門戶網站創建一個Mac應用程序了(需要Mac開發者許可證99塊錢 - 比iOS設備更便宜),並啓用它的iCloud。

一般來說,除非你要嘗試和管理合並在您的應用程序衝突,你不需要測試的iCloud本身。無處不在的容器中的任何東西實際上都會被同步。如果您需要跨設備的事務控制(相同用戶同時在多臺設備上同時更新相同文檔,則必須處理衝突),具體取決於您的應用可能存在的問題。你可以測試至少一個子集的同步的

+0

謝謝!我一直在考慮一個Mac OS端口,但我沒有意識到這意味着要在iOS之上購買另一個開發者許可證。我一直在想,我也可以簡單地創建另一個具有不同App ID的應用程序的虛擬目標(並在iTunes Connect中註冊以使用相同的iCloud ID),以便在iPhone上部署兩個單獨版本的應用程序。然後,我可以在同一臺設備上進行全部測試,在第一個版本中編輯數據,然後打開第二個版本以測試同步。 – Clafou

+1

你可以做到這一點,但你不會測試任何東西。這兩個應用程序都將訪問同一設備上的同一個無處不在的容器。 –

+0

啊,是的,謝謝! – Clafou

3

一種方法是在設備上安裝您的應用程序,添加一些數據,數據同步到iCloud中,然後從設備上刪除應用程序。

當你再次和同步安裝到iCloud,你應該再回到先前同步到iCloud中的數據相同。

這不完全是實時的,但它應該給你一些工作。

+0

好主意,這是一個起點,但我不能在沒有測試當已經有用戶數據的安裝通過iCloud進行同步時發生什麼情況下發布應用程序。 – Clafou

5

在Xcode中5:

OS模擬器現在支持的文件和數據KVS一個應用程序內的iCloud 同步,從而使應用程序使用的iCloud設備之間進行同步。 此功能在測試時非常有用,可確保應用文檔 和數據在多個設備之間正確同步。

注意:使用在iPhone模擬器運行應用程序,請登錄到使用設置應用程序的蘋果 ID帳戶。登錄後,使用「調試」菜單中的「觸發器 iCloud同步」命令告訴模擬器與其他設備同步 。

+0

非常感謝! –

+0

我建議同時運行2個模擬器設備。這樣你就可以將一臺設備的視覺更新傳送到另一臺設備上。請參閱我的評論:http://stackoverflow.com/questions/26446346/xcode6-run-two-instances-of-the-simulator/26446438#comment45601483_26446438 – ObjectiveTC