2014-04-26 3 views
0

그래서 xcdatamodeld (디렉토리/패키지)를 IOS 프로젝트에 복사했습니다.코어 데이터 모델을 OSX에서 IOS로 마이그레이션

[NSBundle mainBundle] URLPathForResource:@"MyDataModelName" withExtension:@"momd"] 

이 작동하지 않습니다. 확장자가 .xcdatamodeld 인 상태에서 파일을 그대로 복사하고 있습니다. 만약 그래서

[NSBundle mainBundle] URLPathForResource:@"MyDataModelName" withExtension:@"xcdatamodeld"] 

그것은 파일을 반환하지 않습니다,하지만 난 NSManagedObjectModel을 만들려고 할 때 작동하지 않습니다.

코어 데이터가 포함 된 xcode에서 프로젝트를 새로 만들었습니다. 실제로 프로젝트의 데이터 모델 파일에는 xcdatamodeld라는 확장자가 있으며 코어 데이터 모델을 입력했지만 어떻게 든 응용 프로그램의 리소스 디렉토리에 복사됩니다. a.mom

이렇게 누가 이처럼 복사됩니까?

답변

0

좋아요, 이상합니다 ... osx에서 ios 프로젝트로 모델을 드래그하는 대신 필자는 그것을 finder에서 iOS 프로젝트로 드래그하여 작동했습니다. xcode 검사기 패널이 핵심 데이터 모델이라고 말했지만 처음 추가했을 때 핵심 데이터 모델로 인식하지 못했습니다. 그러나 파일은 컴파일 소스에 없습니다. 수동으로 추가하려고 시도하고 유형 (null) 파일을 처리 할 방법이 없다는 오류가 발생했습니다.

0

.xcdatamodeld 파일로 작업하는 가장 안전하고 안정적인 방법을 찾았습니다. 소스에서 대상 위치로 이동/복사하고 찾기 위해 Xcode 메뉴 명령 "프로젝트에 파일 추가 ..."를 사용하는 것입니다. "프로젝트 구조에 같은 파일을 추가합니다.

이 프로세스가 불필요 할 수도 있지만, 나에게 있어서는 매번 작동합니다.

+0

이것은 항상 작동해야합니다 ... 그렇지 않은 경우 CDM이 추가 된 폴더/그룹의 경로를 확인하십시오. 새 프로젝트를 처음부터 시작한 경우 모든 폴더/그룹 경로가 정확해야하지만 다른 프로젝트의 폴더/파일을 많이 복사하여 프로젝트 구조를 함께 만들면 일부 경로가 잘못되었을 수 있습니다. *** 잘못된 경로에 기존 CDM을 추가하면 프로젝트가 해당 경로를 CDM 패키지로 인식하지 못합니다 (컴파일 빌드 단계 목록에 빨간색으로 표시됨) – huygir