2016-08-16 2 views
2

그래서 저는 몇 년 동안 틈새를 맞춘 후 macOS 프로그래밍으로 돌아가서 @import 구문을 발견했습니다. 테스트를 위해 샘플 프로그램을 만들었지 만, 내 인터넷 검색으로 제안해야하는 것처럼 보이지는 않습니다.Xcode 8 Beta @import 예기치 않은 동작

테스트 프로젝트 설정 :

  1. 열기 엑스 코드
  2. 파일> 새로 만들기> 프로젝트 ...
  3. 는 맥 OS에 대한 코코아 응용 프로그램 템플릿을 선택합니다. 다음을 클릭하십시오.
  4. 프로젝트 이름을 "ModuleTest"로 지정하고 조직 이름과 조직 식별자를 추가하십시오. Objective-C를 언어로 선택하고 스토리 보드 사용을 선택하고 "문서 기반 응용 프로그램 만들기", "핵심 데이터 사용", "단위 테스트 포함"및 "UI 테스트 포함"이 모두 선택 해제되었는지 확인하십시오. 다음을 클릭하고 저장 위치를 ​​선택하십시오. Git 저장소를 만들지 말고 프로젝트 나 작업 공간에 추가하지 마십시오. 만들기를 클릭하십시오.
  5. 네비게이터에서 Main.storyboard를 클릭하십시오.
  6. 개체 라이브러리에서 AVKit 플레이어보기 개체를 스토리 보드의보기 컨트롤러 장면보기로 끌어서 놓습니다.

이제이 시점에서 프로젝트를 빌드하면 창은 열리지 만 플레이어가 사라지고 xcode 출력 창에 다음과 같은 메시지가 표시됩니다. 07 :

2016년 8월 16일 09 46.465 ModuleTest [19,778 : 4,097,187은 (NSWindow 표시)에 (contentViewController) 피검 사용자 정의 속성을 설정하는 데 실패 *** - [NSKeyedUnarchiver decodeObjectForKey :] : 수 없다 키 (NSDestination)에 대한 클래스 (AVPlayerView)의 객체 디코딩; 클래스가 소스 코드에서 를 정의하거나

이 오류 연결되지 않은 라이브러리에 관계없이 내가 AppDelegate.h, AppDelegate.m, ViewController.h, ViewController.m 내로 @import AVKit; 문을 넣어 여부에 발생 될 수 있습니다, 또는 main.m. 그러나 프로젝트의 Build Phases의 "Link Binary With Libraries"섹션에있는 AVKit.framework를 연결하면 문제가 해결되고 아무 곳에서나 필요한 @import가 필요하지 않습니다.

무슨 일 이니? @import는 수동으로 프레임 워크를 연결할 필요가 없다고 생각했습니다. 프로세스를 잘못 검토하고 있습니까? 스토리 보드를 사용하고 있기 때문에 이런 일이 발생 했습니까? 어떤 아이디어?

답변

1

문제는 AVPlayerView를 참조하는 실제 코드가 없다는 것입니다. AVPlayerView를 사용하는 코드 한 줄을 추가하면 오류가 사라진 것을 알 수 있습니다.