현재 모든 Core iOS 장비에서 동일한 데이터를 사용할 수 있도록 전체 Core Data Store를 iCloud에 동기화 중입니다. 이것은 모든 작업을 수행하여 MagicalRecord를 사용하여 설정됩니다MagicalRecord가 포함 된 여러 데이터베이스 또는 iCloud에 데이터베이스의 일부만 동기화
[MagicalRecord setupCoreDataStackWithiCloudContainer:@"xxxxxxx.com.mydomain.MyAppName" localStoreNamed:@"MyAppName"];
그러나, 나는 데이터베이스에 어떤 장치를 특정 개체를 저장하고 싶습니다. 기본적으로 웹에서 검색된 정보를 캐싱하는 데 사용되며 사용자 iCloud 계정에서 공간을 차지하지 않기를 바랍니다.
- 데이터베이스의 테이블을 동기화해야하는 선택 및 장치 특정 기관에 사용되는 테이블을 무시 :
나는이 작업을 수행하는 두 가지 방법이있을 것입니다 생각합니다.
- MagicalRecord에서 여러 데이터베이스를 관리하고 하나의 데이터베이스에서 동기화해야하는 엔티티와 다른 엔티티에서 특정 엔티티를 저장해야합니다.
이러한 두 가지 방법 중 어느 것이 가능하거나 유지 관리 및/또는 구현이 가장 간단 할 지 모르겠습니다.
가능하다면 어떻게 할 수 있습니까? 코드 예제는 크게 감사하겠습니다. 그래서 내 상점을 모두 수행 할 때 내가 casademora in the answer below에 의해 제안 된 접근 방식을 따르려고 노력하지만,하고
UPDATE는 iCloud에 동기화 beign 끝. 나는 application:didFinishLaunchingWithOptions:
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
[MagicalRecord setupCoreDataStackWithiCloudContainer:@"xxxxxxxxx.com.mydomain.MyAppName" localStoreNamed:@"MyAppName_iCloud"];
[[NSPersistentStoreCoordinator coordinatorWithInMemoryStore] addSqliteStoreNamed:@"MyAppName" withOptions:nil];
// Override point for customization after application launch.
return YES;
}
에 다음을 추가 한 나는 프로젝트에 두 개의 데이터 모델을 추가했습니다. 하나는 이고 MyAppName_iCloud.xcdatamodeld는이고 다른 하나는 MyAppName.xcdatamodeld입니다.
MyAppName 저장소가 iCloud에 동기화되지 않도록하고 싶습니다.
장치 별 데이터는 얼마입니까? 모든 데이터가 아닌 일부 데이터를 동기화하는 것이 가치가있는 것보다 더 어려울 수 있습니다. –
나는 그것을 고려했다. 장치 특정 데이터는 웹 서비스에서 다운로드 한 데이터의 "캐시"를 의미합니다. 기기가 시작되면 웹에서 데이터를로드하는 동안이 정보를 표시하여로드하는 동안 사용자가 앱을 사용할 때 방해받지 않도록하고 싶습니다. 또한이 기능은 오프라인 기능에 사용됩니다. 그것은 많은 정보 일 수 있지만 아마 그렇게 나쁘지는 않습니다. 솔직히 데이터 양에 대한 예측이 없기 때문에 더 이상적인 솔루션을 구현하려고했습니다. 그러나, 나는 그것의 모두를 다만 동기화하는 끝낼지도 모르다. – simonbs