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