2011-10-31 3 views
0

내 앱에서 핵심 데이터를 사용하며 버전 1에서 5까지를 사용합니다. 이전 응용 프로그램에는 버전 1이 있고 새 업데이트에는 버전 5가 있습니다. 따라서 버전 2,3,4는 디버그 및 임시 릴리스에서 건너 뜁니다. 이제 어떤 종류의 핵심 데이터 문제로 인해 앱 스토어가 충돌하고 버전 관리 문제가 있다고 생각합니다. 이전 앱을 제거하고 새 앱을 설치하면 문제가 해결됩니다.앱 스토어 앱의 핵심 데이터 이전

이 문제를 어떻게 해결할 수 있습니까? 기존 버전의 사용자가 업데이트를 위해 앱을 삭제할 필요가 없도록 사용자 전화에 기존 앱을 설치하고 새 업데이트를 출시합니다.

답변

0

나는 이동 계획을 찾는다. 어떤 직관적 인 문서도 찾을 수 없었습니다. 이전 버전의 xcdatamodel 파일을 스크래치 할 때 어떻게 마이그레이션하거나 수정할 수 있습니까?

내 경우에는 중요한 데이터가 저장되지 않았고 모든 데이터가 현재 응용 프로그램 실행과 관련되어 있으므로 다음 릴리스에서는 문서 디렉토리에서 이전 sqlite 파일을 삭제하고 정리합니다. 나는 지금부터 새로운 데이터를 저장하기 위해 다른 sqlite 파일을 사용한다 ...

0

그것은 나에게도 일어났다. 나는 계속해서 테스트를 거쳤습니다 ... 이전 작업이 정상적으로 작동하고 앱이 실행되면 AppStore에서 전송 된 앱이 마이그레이션되지 않습니다.

해결책 : XCode가 아닌 iTunes를 통해 앱을 설치하여 마이그레이션을 테스트하십시오.

방법 : iPhone에서 응용 프로그램을 삭제하십시오. iTunes와 동기화하십시오. iTunes의 앱에서 앱이 삭제되었는지 확인하십시오. Xcode를 통해 이전 응용 프로그램을 장치에 설치하십시오. Xcode에서 앱의 새 버전을 엽니 다. 시뮬레이터 용이 아닌 iPhone 장치 용으로 빌드하려면 선택하십시오. /Users/Library/Developer/Xcode/DerivedData에서 .app 파일을 찾으십시오. // Build/Products/Debug-iphoneos iTunes에서 .app 파일을 드래그하십시오. 장치와 동기화하십시오.

이렇게하면 새 앱이 AppStore를 통해 업그레이드 할 때와 완전히 똑같은 방법으로 iPhone의 이전 앱을 덮어 씁니다.

이제 디버그 로그를 넣고 문제가 무엇인지 찾아 낼 수 있습니다. 장치의 콘솔에서 Organizer에서 로그를 볼 수 있습니다.

내 경우에는 pathForResource 메서드가 하위 디렉터리를 조사하지 않는 것이 문제였습니다. 하지만 내 오래된 엄마 파일이 디렉토리에 있었어. 그래서 같은 메소드의 추가 매개 변수 "inDirectory"를 사용해야했습니다.

XCode를 통해 설치되고 iTunes를 통해 작동하지 않을 때이 방법이 작동하는 이유는 나를 때려 눕히고 ... 아무런 단서도 없습니다!

적어도 지금은 물건을 알고 있습니다. - pathForResource가 하위 디렉토리를 조사하지 않습니다. - 항상 라이브로 가기 전에 iTunes를 통해 내 앱을 설치하십시오 !!!

관련 문제