これで、数年後にmacOSのプログラミングに戻り、@ import構文を発見しました。私はそれをテストするためのサンプルプログラムを作成しましたが、私のグーグルはそれがすべきことを示唆しているように見えません。Xcode 8 Beta @import予期しない動作
テストプロジェクトのセットアップ:
- オープンXcodeの
- ファイル>新規>プロジェクト...
- MacOSのためのCocoaアプリケーション]テンプレートを選択します。次へをクリックします。
- プロジェクトに「ModuleTest」という名前を付け、組織名と組織識別子を追加します。言語としてObjective-Cを選択し、ストーリーボードの使用をチェックし、「文書ベースのアプリケーションの作成」、「コアデータの使用」、「ユニットテストのインクルード」および「UIテストのインクルード」がすべてオフになっていることを確認します。 [次へ]をクリックし、保存場所を選択します。 Gitリポジトリを作成せず、プロジェクトやワークスペースに追加しないでください。 「作成」をクリックします。
- ナビゲータで、Main.storyboardをクリックします。
- オブジェクトライブラリから、AVKit Player ViewオブジェクトをストーリーボードのView Controller Sceneのビューにドラッグします。
この時点で、プロジェクトをビルドするとウィンドウが開きますが、プレーヤーはそのウィンドウに表示されず、xcode出力ウィンドウに次のようなメッセージが表示されます。できない: -
2016年8月16日09:07:46.465 ModuleTest [NSKeyedUnarchiver decodeObjectForKey:] ***:[19778:4097187]は (contentViewController)ユーザ(NSWindowの)上に定義された検査プロパティの設定に失敗しましたキー(NSDestination)のクラス(AVPlayerView)のオブジェクトをデコードします。クラスがソースコードで を定義したり
このエラーはリンクされていないライブラリは関係なく、私はAppDelegate.h、AppDelegate.m、ViewController.h、ViewController.mに@import AVKit;
文を置くかどうかに発生することができます、またはmain.m.しかし、プロジェクトのビルドフェーズの "Link Binary With Libraries"セクションのAVKit.frameworkを単にリンクするだけで、どこでも@importが必要な問題は解決します。
何が起こっているのですか?私は@importが手動でフレームワークをリンクする必要性を排除するはずだったと思った?私はプロセスを間違って行っていますか?私はストーリーボードを使用しているので、これは起こっていますか?何か案は?