GCController フレームワークをプロジェクトに統合しようとしています。私は Objective-C にあまり詳しくないので、これがどのように機能するかについて無知であることをお許しください。
次のように、さまざまなコントローラー通知のオブザーバー メソッドを登録する NSOpenGLView を拡張するクラスがあります。
-(void)awakeFromNib
{
// Do some stuff
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controllerStateChanged) name:GCControllerDidConnectNotification object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controllerStateChanged) name:GCControllerDidDisconnectNotification object:nil];
}
そして、私は非常に単純なハンドラーを次のように定義しました:
- (void)controllerStateChanged {
NSLog (@"something happened, let's check it out\n");
}
問題は、これらのイベント/通知が起動しないように見えることです。[GCController controllers] を調べると、完全に空です。
もちろん、コントローラーがなければイベントも発生しないのは当然のことです。
または、何らかの理由で、コントローラーが必要なイベントを生成できないだけです (ワイヤレスまたは USB 経由で、OS に登録されている PS4 コントローラーを使用しているため、ここで何が欠けているのかわかりません)。
これらの通知を有効にする必要がある他の場所はありますか? 何らかの方法で GCController フレームワークを初期化する必要がありますか?