2012-08-30 1 views
0

CoreData 응용 프로그램 중 하나를 사용하도록 iCloud를 프로토 타입 화하는 동안 iCloud의 고통을 경험 한 사람으로 Simperium은 매우 유망 해 보이지만 일부는 날카로운 모서리를 처리하는 방법에 관심이 있습니다. .Simperium으로 응용 프로그램을 시작할 때 데이터를 부트 스트랩

응용 프로그램을 시작할 때 부트 스트래핑 데이터를 정상적으로 처리하는 방법이 하나있었습니다. 사용자가 처음으로 앱을 실행하면 기본 데이터가 CoreData 데이터베이스에로드됩니다. 사용자가 iPhone에서 응용 프로그램을 시작한 다음 iPad에서 나중에 응용 프로그램을 시작하면 동기화로 인해 두 장치에서 부트 스트랩 데이터가 중복됩니다. iCloud를 사용하여 솔루션은 iCloud 병합 프로세스에 연결하는 것이 었습니다.

Simperium에서 어떻게 처리 할 수 ​​있습니까?

답변

0

적어도 몇 가지 방법이 있습니다.

각 시드 된 개체에 대해 simperiumKey을 하드 코딩 할 수 있습니다. 예를 들어 메모 앱에서 모든 신규 사용자가 환영 메시지를 받으면 simperiumKeywelcomeNote 인 메모를 로컬에서 만들 수 있습니다. 이렇게하면 해당 사용자의 계정 (모든 기기)에 환영 메모가 하나만 존재하게됩니다. 이 방법을 사용하면 일부 중복 데이터 전송이 발생할 수 있으므로 대량의 시드 된 데이터가없는 것이 가장 좋습니다. 반면에이 방법은 새로운 사용자가 처음 앱을 시작할 때 오프라인 상태 인 경우에도 데이터를 즉시 사용할 수 있도록하려는 경우 유용합니다.

Simperium을 사용하면 서버 프로세스를 사용할 수도 있습니다. 계정을 만들 때 코드를 실행하는 Python 또는 Ruby 리스너를 사용하여 새로운 사용자 계정에 데이터를 입력 할 수 있습니다. 많은 양의 데이터가있는 경우 좋은 방법이지만 시드 된 데이터가 전송되기 전에 사용자가 온라인에 있어야한다는 단점이 있습니다. 물론 전송 자체에는 다소 시간이 걸립니다.

이러한 접근 방식에는 미묘한 차이가 있습니다. 첫 번째 방법으로 welcomeNote 예를 사용하여 사용자가 welcomeNote을 삭제하고 이후에 앱을 다시 설치하는 경우 welcomeNote은 로컬에서 생성되기 때문에 부활하지만 중복되지는 않습니다. 이것은 종종 허용됩니다. 두 번째 방법을 사용하면 welcomeNote을 한 번만 시드 할 수 있으므로 앱을 다시 설치하더라도 부활하지는 않습니다.

관련 문제