我有一个应用程序,我想在两部 iPhone 之间交换通过 Core Data 管理的信息。
有没有人尝试过这个,如果有的话,什么被认为是最好的方法(即人们是否在文件中使用一些中间格式,如 XML 或 JSON,或者可以直接传输对象)。
如果这个问题的范围过于宽泛,我深表歉意,但我正处于需要决定转移方法的阶段,而且我没有使用此 API 的经验。
对于使用 GameKit 在设备之间传输对象的任何代码示例或任何此类示例的链接,我将非常感谢。
我有一个应用程序,我想在两部 iPhone 之间交换通过 Core Data 管理的信息。
有没有人尝试过这个,如果有的话,什么被认为是最好的方法(即人们是否在文件中使用一些中间格式,如 XML 或 JSON,或者可以直接传输对象)。
如果这个问题的范围过于宽泛,我深表歉意,但我正处于需要决定转移方法的阶段,而且我没有使用此 API 的经验。
对于使用 GameKit 在设备之间传输对象的任何代码示例或任何此类示例的链接,我将非常感谢。
您不能直接在设备之间传输 Core Data 对象,因为它们链接到它们的上下文和持久存储。您需要将数据转换为中间格式(可以像转换为 NSData 的 NSDictionary 一样简单)并将其推送到连接上,然后在另一端重构数据。
我个人认为 JSON 非常适合这种情况,因为您可以轻松地将 Core Data 对象图转换为一组 JSON 可消费对象(字典、数组、字符串和数字),这些对象可以轻松移动。
您是否正在寻找一次性转移?或者你想让两部 iPhone 在一段时间内保持同步(游戏?)。
我没有深入研究这个主题,但是如果您创建游戏,我建议您查看“核心数据:Apple 的 Mac OS X 上持久数据 API”一书中的“同步服务和核心数据”一章.
http://www.pragprog.com/titles/mzcd/core-data
GameKit 似乎只是通过蓝牙建立连接。如果您将来想使用 IP,请考虑使用 AsyncSockets。