Xcode 리소스 버스 만들기

3935 단어 XcodeiOS

환경


ver. Xcode7.3
Date 2016/4/26

자체 제작 SDK에서 참조하는 CoreDataModel 파일(.xcdatamodeld)을 참조할 수 없습니다.


병목 방법👇
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@".xcdatamodeldファイル名" withExtension:@"momd"];
반환값은nil
거기서 참조한 파일입니다.bundle 파일에서 만들기

자원 구축


새 항목에서 OS X-> 프레임워크 및 라이브러리 선택 및 새로 만들기 -> Bundle

여기에 입력한 Product Name입니다.bundle 확장자가 있는 파일을 실제 리소스로 만들기 Bundle

리소스 추가


만든 항목에 ResrorceBundle에 포함할 파일 추가

항목 설정 편집


프로젝트는 OSX로 제작되었기 때문에 (2015/4/26 현재 iOS 프로젝트가 없음) SDK 설정은 OSX를 유지하기 때문에 변경이 필요합니다
TARGETS->Build Setting->Architectures->BaseSDK를 iOS로 변경
변경되면 모든 관련 설정이 자동으로 iOS로 변경됩니다.
변경 전

수정 후

.bundle 파일의 출력 위치 변경


TARGETS-> 구축 설정 변경 -> 구축 위치 -> Perconfiguration Build Products Path
기본적으로
$(BUILD_DIR)/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
되다
Products
에서 설명한 대로 해당 매개변수의 값을 수정합니다.xcodeproj 바로 아래에 실제 제품 폴더 만들기
구축된 후 생성된 폴더에 있습니다.bundle이 생성됩니다.

되다버스에서 리소스 탐색


내장형 애플리케이션 측 TARGETS->Build Phases->Copy Bundle 리소스에서 추가
상세히 기술한 말
NSString *path = [[NSBundle mainBundle] pathForResource:@"KazuTeraResource" ofType:@"bundle"];
NSBundle *bundle = [NSBundle bundleWithPath:path];
NSURL *modelURL = [bundle URLForResource:@"TestModel" withExtension:@"momd"];
이렇게 하면 순조롭게 URL을 얻을 수 있다

좋은 웹페이지 즐겨찾기