그래서 저는 몇 년 동안 틈새를 맞춘 후 macOS 프로그래밍으로 돌아가서 @import 구문을 발견했습니다. 테스트를 위해 샘플 프로그램을 만들었지 만, 내 인터넷 검색으로 제안해야하는 것처럼 보이지는 않습니다.Xcode 8 Beta @import 예기치 않은 동작
테스트 프로젝트 설정 :
- 열기 엑스 코드
- 파일> 새로 만들기> 프로젝트 ...
- 는 맥 OS에 대한 코코아 응용 프로그램 템플릿을 선택합니다. 다음을 클릭하십시오.
- 프로젝트 이름을 "ModuleTest"로 지정하고 조직 이름과 조직 식별자를 추가하십시오. Objective-C를 언어로 선택하고 스토리 보드 사용을 선택하고 "문서 기반 응용 프로그램 만들기", "핵심 데이터 사용", "단위 테스트 포함"및 "UI 테스트 포함"이 모두 선택 해제되었는지 확인하십시오. 다음을 클릭하고 저장 위치를 선택하십시오. Git 저장소를 만들지 말고 프로젝트 나 작업 공간에 추가하지 마십시오. 만들기를 클릭하십시오.
- 네비게이터에서 Main.storyboard를 클릭하십시오.
- 개체 라이브러리에서 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는 수동으로 프레임 워크를 연결할 필요가 없다고 생각했습니다. 프로세스를 잘못 검토하고 있습니까? 스토리 보드를 사용하고 있기 때문에 이런 일이 발생 했습니까? 어떤 아이디어?