2012-09-20 3 views
6

유니버셜 앱을 구축 중입니다. 내 앱에서 sq-lite 데이터베이스를 사용하고 있습니다 .Icloud와 로컬 데이터를 동기화하여 iPhone에 앱을 설치하는 다른 사용자가 그의 전화/Ipad에 데이터.sqlite 데이터베이스를 사용하는 앱과 iCloud 동기화 -

코드 데이터와 iCloud 동기화가있는 곳을 여러 곳에서 검색했지만 sq-lite를 사용하고 있습니다.

이 작업을 수행 할 수있는 방법은 무엇입니까?

미리 감사드립니다.

+1

아무도 나를 도와주세요. 나는 그것을 구현하는 데 문제가 있습니다. 제 전체 프로젝트가 sq-lite를 사용하고 있으며 결국에는 데이터베이스를 coredata로 옮길 수 없습니다. –

+0

동기화 계획/프로토콜을 수동으로 수립해야합니다. icloud는 여기에 양동이처럼 행동하고 꽤 있습니다. 우둔한. CoreDataa는 기성의 동기화 프로토콜을 제공하지만 더 낮은 레벨에서는 그렇지 않습니다. –

+0

코어 데이터 같은 것이 없어도 iCloud를 통해 SQLite 데이터베이스를 동기화하려고하면 어려움이 따르게됩니다. SQLite의 작동 방식을 생각해보십시오. 개별 레코드를 업데이트하고 파일 수준에서 iCloud가 작동하는 방식을 업데이트하면 파일과의 결혼이 어려워집니다. 핵심 데이터는 나중에 병합되는 트랜잭션 파일을 통해이를 수행합니다. 자신을 재창조하는 것은 어려울 것입니다. – Hunter

답변

2

가장 좋은 방법은 iCloud와 동기화 할 수 있도록 핵심 데이터를 구현하는 것입니다. 필자의 연구 결과에 따르면 Core Data를 사용하지 않고 SQLite 데이터베이스를 iCloud와 동기화하는 편리한 방법이 없습니다. 이를 사용함으로써 얻게되는 이점은 데이터 액세스를 넘어서는 것입니다. 핵심 데이터를 구현하면 개체 관계형 매핑을위한 완성 된 프레임 워크를 제공하므로 데이터를보다 효과적으로 사용할 수 있습니다. 스키마 변경으로 인해 기존 스토어에 액세스 할 수 없게 만드는 등의 제한 사항이 있습니다. 그러나 객체 지속성과 같은 영역에서도 탁월합니다. 전반적으로, iCloud와의 동기화와 관련하여 특히 유용 할 수 있습니다.

데이터베이스를 코어 데이터로 변환하는 여러 가지 방법이 있습니다. 하나의 접근법은 모델을 가지고 나면 핵심 데이터에 의해 생성 된 SQLite 데이터베이스를 수동으로 수정하는 것입니다. Xcode의 Organizer를 통해 사용할 수있는/AppData/Documents에서 생성 된 데이터베이스를 보면 무엇을 변경해야하는지 결정할 수 있습니다. 여기에서 SQLite 데이터를 새 데이터베이스로 복사하는 간단한 작업이 될 수 있습니다. 이 방법은 핵심 데이터 스키마를 변경할 수 있기 때문에 Apple에서 권장하지는 않지만 기존 데이터 세트를 쉽게 마이그레이션 할 수있는 방법을 제공 할 수 있습니다. 또 다른 방법은 앱 내의 데이터 저장소간에 변환 할 코드를 작성하는 것입니다. 원하는 경우 구현, SQLite 및 핵심 데이터를 동시에 유지 관리 할 수도 있습니다.

관련 문제