1 년 반 전에 다시 돌아올 앱을 만들었습니다. 스위프트 이빨을 자르는 프로젝트 였고 그 이후로 언어와 스 위프트 능력 모두에서 분명히 많은 변화가있었습니다.사용자 업그레이드를위한 CoreData 크래시 방지
어제는 처음으로 단일 CoreData 모델을 업데이트하여 선택적 문자열 속성을 추가했습니다. 필자는 파일 생성 비트를 수행했으며 검사기 열에서 새 데이터 모델이 적절히 선택되었는지 확인했습니다.
내 시뮬레이터 및 테스트 장치에 새 버전을 설치하기 위해 이전 버전의 앱을 삭제해야합니다. 그렇지 않으면 충돌이 발생합니다. 나는 이것이 개발 환경 프로세스의 일부라고 가정합니다. 사용자가 App Store에서 간단한 업데이트를 수행 할 때 삭제하고 다시 설치할 필요가 없도록하려면 어떻게해야합니까? 나는 Xcode/CoreData/Apple이 이것을 일부 내부 스크립트 또는 사용자가 볼 수없는 프로세스와 함께 처리한다고 가정합니다. "그냥 작동합니다." 그러나 사용자를 위해 v1에서 v1.1로 원활하게 전환하기 위해 필요한 추가 사항이 있는지 이해하기 위해 여기에 게시하고 싶습니다.
내가 언급 한 것처럼 선택적 문자열 열이 전부였습니다. 새로운 필드가 nil
인 기존의 모든 사용자 데이터가 새 스키마로 마이그레이션된다고 가정합니다.
모든 의견은 매우 환영 할 만합니다. 감사!
당신은 당신이 새로운 하나 이전 버전에서 마이그레이션하고 싶은 방법으로 할 몇 가지 선택이있다, 나는 조금 여기를 읽는 게 좋을 것 :이이 작업을 수행하는 방법에 대한 코드입니다 : https://developer.apple.com/library/content/documentation/Cocoa/Conceptual/CoreDataVersioning/Articles/vmLightweightMigration.html –
감사합니다. –
해당 오류는 개발 프로세스의 일부가 아닙니다. 출시 전에 수정해야합니다. –