새로운 CoraData 모델을 사용하여 다른 버전에서 만든 앱의 새 버전을 만들고 싶습니다. 의심됩니다. 핵심 데이터 모델은 업데이트를 통해 영구적입니다. 이전 CoreData 모델이 새로운 버전의 App에 문제를 일으키지 않도록하고 싶습니다.신규 및 기존 CoreData 모델
몇 가지 모범 사례를 따라야합니까?
새로운 CoraData 모델을 사용하여 다른 버전에서 만든 앱의 새 버전을 만들고 싶습니다. 의심됩니다. 핵심 데이터 모델은 업데이트를 통해 영구적입니다. 이전 CoreData 모델이 새로운 버전의 App에 문제를 일으키지 않도록하고 싶습니다.신규 및 기존 CoreData 모델
몇 가지 모범 사례를 따라야합니까?
오래된 앱 데이터를 보관하고 이전을 원한다면 분명하지 않습니다.
다음 핵심 데이터 모델이 이전과 다른 것을 볼 수 있습니다 새로운 모델을 게시에 다음과 같은 방법으로 저장소를 지울 수없는 경우 [[NSFileManager를 defaultManager] removeItemAtURL : storeURL 오류 : 무기 호] ;
그런 다음 상점 다시 : 당신은 저장소가
/**
Returns the persistent store coordinator for the application.
If the coordinator doesn't already exist, it is created and the application's store added to it.
*/
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator
방법과 일치하지 않음을 알려 드리겠습니다
[__persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error];
을, 당신은 당신의 AppDelegate에에 일반적으로 그것을 찾을 수 있습니다.
은 기본적으로 두 가지 옵션이 있습니다 : 새 저장소를 만들 새 모델에 따라 (이전 데이터는 사라질 것입니다)하거나 새로운 하나에 기존 모델을 마이그레이션
(그것이 가능 당신이 할거야 무엇에 따라?)앱이 근본적으로 다른 경우 새 버전이 아닌 '새 앱'을 게시하는 것이 좋습니다. 이전 앱의 메시지와 같이 사용자를 새 앱으로 리디렉션해야합니다. 기본적으로 오래된 사용자가 이전 iOS 버전을 준수하고 새로운 iOS 기능, 표준, 사용자 인터페이스를 사용하여 새로운 앱을 게시하기 때문에 기존 앱을 '있는 그대로'유지하려는 경우입니다.
새 앱을 푸는 것은 해결책이 아닙니다. 모든 앱 사용자를 잃을 것입니다. 내가 잘못 했습니까? "핵심 데이터에서 모델이 이전 모델과 다르다는 것을 알게 될 때 상점을 지울 수 있습니다 ..."앱이 다른 모델을 찾았다는 사실에 대해 어떻게 경고 할 것입니까? – MatterGoal
새 질문에 따라 수정 된 소식입니다. – moxy