単一の UIButton (対応する IBOutlet を含む) をデフォルトのストーリーボードのデフォルト ビューに追加し、コントローラー クラスにアクション メソッドを追加することで構成される非常に最小限の UI 実装から始めると、すべてが正しく機能します (つまり、私のアクションは次の場合に呼び出されます)。ボタンをタップします)。
ここで、MediaPlayer/MediaPlayer.h をビュー コントローラーのヘッダー ファイルに単純にインクルードすると、次のようになります。
#import <UIKit/UIKit.h>
#import <MediaPlayer/MediaPlayer.h>
@interface Playing_Video_FilesViewController : UIViewController
@property (nonatomic, strong) MPMoviePlayerController *moviePlayer;
@property (nonatomic, strong) IBOutlet UIButton *playButton;
@end
MediaPlayer フレームワークをプロジェクトに追加すると、悪名高い「このクラスはキー playButton のキー値コーディングに準拠していません」でクラッシュします。
プロジェクトから MediaPlayer フレームワークの参照を削除すると、クラッシュしなくなります。代わりにボタンを削除して MediaPlayer フレームワークを離れると、クラッシュも停止します。
MediaPlayer と基本的な標準 UI を同時に使用するために他にすべきことはありますか?
編集: ストーリーボードを使用しない VideoPlayer サンプル アプリケーションで行われるように、ストーリーボードを使用する代わりに .xib ファイルを作成することで問題を回避しました。同じコードですが、動作するようになりました。