我目前只有一台 iOS 设备,到目前为止还没有出现问题。但我现在想为我的应用程序(使用核心数据)添加 iCloud 同步支持。
在我得到第二台设备之前,测试是不可能的吗?或者是否可以将 iOS 模拟器与我的设备结合使用或伪造 iCloud 数据以测试 iCloud 同步?
编辑:不需要太多研究就可以发现 iCloud,尤其是使用 Core Data,肯定需要大量测试,这当然意味着要使用多个设备进行测试!
在 Xcode 5 中:
OS Simulator 现在支持 iCloud 同步应用程序内的文档和 KVS 数据,使应用程序能够使用 iCloud 在设备之间同步。在进行测试以确保应用程序文档和数据在多个设备之间正确同步时,此功能很有用。
注意:在 iOS 模拟器中运行应用程序后,使用“设置”应用程序登录 Apple ID 帐户。登录后,使用 Debug 菜单中的“Trigger iCloud sync”命令告诉模拟器与其他设备同步。
您可以使用您的 mac 作为第二台设备,并获取您的 iOS 核心数据代码的后端并为 mac 编写一个测试应用程序。您必须在 xcode 中将应用程序作为沙盒应用程序运行,并将相同的沙盒名称放在应用程序设置中,以便应用程序查看彼此的数据。
要完成这项工作,您需要在配置门户上创建一个 mac 应用程序(需要一个 mac 开发人员许可证 99 美元 - 比 iOS 设备便宜)并为 iCloud 启用它。
一般来说,除非您打算尝试管理应用程序中的合并冲突,否则您不需要测试 iCloud 本身。实际上,无处不在的容器中的任何内容都会被同步。如果您需要跨设备的事务控制(同一用户同时在多个设备上更新相同的文档,您将不得不处理冲突),这取决于您的应用程序的功能,这可能是一个问题。
您可以测试至少一个同步子集的一种方法是在您的设备上安装您的应用程序,添加一些数据,将该数据同步到 iCloud,然后从设备中删除该应用程序。
当您再次安装它并同步到 iCloud 时,您应该取回之前同步到 iCloud 的相同数据。
它不完全是实时的,但它应该给你一些可以使用的东西。