2015-01-20 3 views
0

우리의 앱은 오프라인 활동을 지원합니다. 우리가 국부적으로 새로운 중핵 자료 객체의 창조뿐만 아니라 기존하는 목표에 대한 어떤 수정든지 영속시키고 싶다는 것을 의미 한. 그런 다음 앱이 다시 온라인 상태가되면 자동으로 해당 변경 사항 (및 모든 종속성)을 서버에 보냅니다.RestKit은 온라인 상태가되면 자동으로 POST/PUT됩니다.

RestKit은 이러한 작업을 지원할 것이라고 생각하지만, 현재는 오프라인 일 때 로컬 캐시에 생성/수정 사항을 저장합니다. 앱을 죽이면 그 변화가 지속되지 않습니다. 또한 RestKit이 원래 의도 한 끝점에 해당 항목을 게시하려고 시도하지 않습니다.

여기에 필요한 것을 지원할 수있는 설명서가 없습니다.

RestKit에서 필요한 조치를 취할 수있는 방법이 있습니까?

그렇지 않은 경우 오프라인 변경 사항을 디스크 (캐시가 아닌)에 유지하려면 어떻게해야합니까? 그런 다음 서버에 업로드되지 않은 파일에 플래그를 지정하고 온라인 상태가되었을 때 파일을 업로드 해보십시오.

다른 중요한 사항은 무엇입니까?

답변

1

작성 당시 RestKit은 해당 기능을 지원하지 않습니다.

디스크에 저장하려면 MOC에서 save: 대신 saveToPersistentStore:으로 전화해야합니다.

앱의 '온라인'상태를 관찰하고 업로드해야하는 항목 (즉, 아직 일어나지 않았 음을 나타내는 플래그 유지)을 데이터 저장소에서 검색하여 계획을 직접 구현해야합니다.

1

내 개체에 'updated'라는 다른 필드를 추가하여이 문제를 해결했습니다. 이 필드는 오브젝트가 작성 또는 수정 될 때 true 또는 1로 설정됩니다. 응용 프로그램이 시작되거나 동기화 될 때마다 로컬 코어 데이터 복사본을 반복하고 'updated'세트가있는 개체를 보냅니다. 웹 서비스에서 응답은 항상 응답을 반환 할 때 'updated'를 false로 지 웁니다. 이 기능은 웹 서비스와 앱이 모두 온라인 인 경우에 효과적입니다.