2011-05-09 6 views
0

안녕하세요. 최근에 나를 괴롭 히고있는 뭔가가 내가 만든이 맞춤 영화 플레이어입니다. 이는 주로 작동하는 것을 기본으로합니다 (NGMoviePlayer).presentModalViewControllerAnimated : 흰색 화면 제공

문제점은 다음과 같습니다. .xib이 UIKit 친화적 인 리소스 번들에 있습니다. 내가 전화 할 때 : 내 사용자 정의 클래스 ..on

[MyMoviePlayerViewController initWithNibName:@"MyMoviePlayerViewController" 
bundle:[NSBundle bundleWithPath: 
     [[NSBundle mainBundle] bundlePath] 
      stringByAppendingPathComponent:@"MyMoviePlayerViewController.bundle"]]; 

한 다음 액세스 view는 오류가 발생하지 않습니다 (따라서 loadView를 호출),하지만도 실제로 제대로 콘센트를로드 않습니다. 흰색 화면이 표시되고 디버깅을 통해 모든 시각적 요소는 0x0이지만 예상대로 오류는 없었습니다.

EDIT : 또한 대상 응용 프로그램의 리소스 번들 외부에서 .xib를로드하려고 시도했지만 동일한 문제가 발생합니다 (흰색 화면).

이 전혀 발견되지 않은 경우
  • Could not load NIB <nibname>..., 또는
  • ...loaded the <nibname> NIB but the view outlet was not set이 찾았지만되지 않은 경우 제대로

연결 : 내가 찾던

특정 사람 중 하나였다 xib는 로컬 앱에 있습니다 (정적 라이브러리는 xibs를 포함 할 수 없음을 이해합니다). 나는 NGMoviePlayer의 저자가 제공하는 NGMoviePlayerDemo 프로젝트와 동일한 자원 번들을 사용하여 시도했습니다, 그리고 오류 던져 않습니다 : 내가 경로를 탐색 한

Could not load NIB in bundle: 
'/Users/.../MyMoviePlayerViewController.bundle (not yet loaded)' 
with name 'MyMoviePlayerViewController' 

는 번들 표시하고 존재를 해당 위치의 MyMoviePlayerViewController.xib 파일

Xcode가 어떤 이유로 든 번들 디렉토리의 리소스를 기본 디렉토리와 결합한 경우에도 bundle:nil을 사용해 보았습니다. 두 경우 모두 오류가 발생하지 않고 실제 프로젝트에 흰색 화면이 표시됩니다. 두 경우 모두 NGMoviePlayerDemo 프로젝트에서 Could not load NIB 오류가 발생합니다.

편집 : 나는 NGMoviePlayerDemo 응용 프로그램의 리소스 번들과 별도로 동일한 .xib를 시도했지만 정상적으로 작동합니다.

모든 의견을 크게 환영합니다.

답변

0

해결책 : Unknown class <classname> in Interface Builder file. 메시지에주의하십시오.

정적 라이브러리에서 무비 플레이어에 대한 코드가 있었고 무비 플레이어의 부모보기 컨트롤러가 외부 헤더로 프로젝트에 포함되었지만 하위 뷰가 헤더로 포함되지 않았으므로 제대로 배치되지 않았습니다. 타겟 응용 프로그램에서 참조 된 유일한 장소는 .xib 파일 내에 있었기 때문에 해당 하위 클래스와 관련된 컴파일 오류가 없었지만 .xib로드 할 시간이 왔을 때 해당 클래스를 찾을 수 없으므로 해당 속성이 없습니다. 설정되었습니다. 그리고 플레이어의 모든 컨트롤을 포함 시켰을 것입니다. 아마 플레이어가 초기화 코드를 조용히 넘겨 주었을 것입니다.

하위 클래스의 모든 코드와 ivars를 상위 동영상 플레이어 클래스로 병합했는데 현재 정상적으로 작동하고 있습니다.

관련 문제