2017-03-02 22 views
2

뷰에 표시 할 일부 이미지를 사용하는 정적 프레임 워크를 만들려고합니다. 내 sdk 프로젝트에서 대상을 추가하여 Xcode에서 MyFrameworkBundle.bundle을 만들었습니다. 모든 이미지를 번들에 추가하고 번들을 생성하고 해당 대상에 번들 식별자 my.frameworkbundle을 부여했습니다. 지금 나는 다음과 같이 내 프레임 워크에 해당 번들을 가져 오기 위해 노력하고 있어요 : 정적 프레임 워크 및 리소스 번들에 대해 NSBundle bundleWithIdentifier가 null을 반환합니다.

NSBundle * mybundleRef = [NSBundle bundleWithIdentifier:@"my.frameworkbundle"]; 

가 그럼 난 다른 프로젝트에서 그 프레임 워크 및 자원 번들을 넣고 위의 선으로 기능을 실행하려고. 항상 null을 반환합니다. 위 코드와 같은 프레임 워크를 가져 오려고해도 :

NSBundle * mybundleRef = [NSBundle bundleWithIdentifier:@"my.framework"]; 

이 또한 나에게 줬습니다. 그러나이 프레임 워크를 정적에서 동적으로 변경하면 항상 올바른 번들을 제공합니다. Unity와 함께 사용할 예정이므로 동적 인 프레임 워크가 사후 처리 스크립트를 피하기를 원하지 않습니다.

은 또한 다음과 같은 코드를 시도 :

NSString *bundleString =[[NSBundle mainBundle] pathForResource:@"MyFrameworkBundle" ofType:@"bundle"]; 
NSBundle * PlayCacheBundle = [NSBundle bundleWithPath:bundleString]; 

을하지만 더 적합한 이미지가

시스템 정보를 찾을 수 없습니다

오류 제공 :

  • 엑스 코드 : 8.2 .1
  • 맥 OS : 10.12 (시에라)

답변

0

사용이 dynmically 번들 지정 : 클래스가 자원에만 프레임 워크에없는 나는 내 프레임 워크에이 코드를 테스트 한 대답 에 대한

NSBundle *mybundleRef = [NSBundle bundleForClass:[self class]] 
+0

감사합니다 \NSLog (@ "번들 결과 : % @", myBundleRef); ' 그러나 그 대신 NSBundle에 내 메인 경로를 제공합니다. 프로젝트 (프레임 워크를 가져온 프로젝트)가 아니라 프레임 워크 오크. 또한이 번들로 이미지를 얻으려고했습니다. 'UIImage * Imageref = [UIImage imageNamed : @ "msg.png"inBundle : myBundleRef compatibleWithTraitCollection : nil]; ' ImageRef에서 null을 반환합니다. –