2010-03-01 3 views
3

두 iPhone간에 Core Data를 통해 관리되는 정보를 교환하고 싶습니다.GameKit을 사용하여 iPhone간에 CoreData 데이터 전송

누구든지이 작업을 시도한 적이 있습니까? 그렇다면 파일을 XML 또는 JSON과 같은 중간 형식을 사용하는 사람 또는 개체를 직접 전송할 수있는 방법이 가장 좋습니다.

질문이 범위 내에서 너무 많이 보일지 만 나는 전송을위한 접근 방식을 결정해야하는 단계에 있으며이 API에 대한 경험이 없습니다.

GameKit을 사용하여 장치간에 개체를 전송할 때 코드 샘플이나 해당 샘플에 대한 링크에 대해 매우 감사하게 생각합니다.

답변

5

당신은 그들의 상황 및 영구 저장소에 연결되어 있기 때문에 코어 데이터가 장치간에 객체를 직접 전송할 수 없습니다. 데이터를 중개 형식 (NSDictionary로 변환되는 NSDictionary만큼 간단 할 수 있음)으로 변환하고 연결을 통해 밀어 넣고 다른 쪽에서 데이터를 다시 구성해야합니다.

개인적으로 쉽게 이동할 수있는 JSON 소비 가능 객체 (사전, 배열, 문자열 및 숫자) 집합으로 Core Data 객체 그래프를 쉽게 변환 할 수 있기 때문에 이러한 상황에서는 JSON이 유용하다고 개인적으로 생각합니다.

+0

답변 해 주셔서 감사합니다. 관계형으로 연결된 두 개의 엔티티가있는 핵심 데이터 객체 그래프가 JSON과 JSON간에 변환되는 코드 샘플에 대한 링크가 있다고 가정하지 않습니다. 나는 묻는 것이 많다는 것을 알고 있지만 나는 상대적으로 새로운 iPhone 개발자이고 내가해야하는 것처럼이 개념에 익숙하지 않은 것 같다. – Urizen

+0

방금 ​​다른 질문에 (거친) 샘플 코드를 게시했습니다. http://stackoverflow.com/questions/2362323/json-and-core-data-on-the-iphone/2363996#2363996 –

2

한 번만 전송 ​​하시겠습니까? 아니면 일정 기간 (게임?) 서로 동기화 된 두 개의 iPhone을 유지하려고하십니까?

나는이 주제를 너무 많이 보지 않았지만, 게임을 만들면 "핵심 데이터 : 게임 데이터 동기화를위한 Apple의 API"에서 "동기화 서비스 및 핵심 데이터"장을 살펴볼 것을 제안합니다. 맥 OS X".

http://www.pragprog.com/titles/mzcd/core-data

GameKit는 단순히 블루투스를 통해 연결을 설정하는 데 나타납니다. 나중에 IP를 사용하려면 AsyncSockets를 사용하십시오.

http://code.google.com/p/cocoaasyncsocket/

+0

두 장치가 데이터를 교환하는 경우 한 번만 전송됩니다. – Urizen