Objective c GCController框架(OSX)不生成通知

Objective c GCController框架(OSX)不生成通知,objective-c,interface-builder,nsnotificationcenter,nsopenglview,gamecontroller,Objective C,Interface Builder,Nsnotificationcenter,Nsopenglview,Gamecontroller,我正在尝试将GCController框架集成到我的项目中。我对Objective-C不太熟悉,所以请原谅我不知道它应该如何工作 我有一个扩展NSOpenGLView的类,它为各种控制器通知注册观察者方法,如下所示: -(void)awakeFromNib { // Do some stuff [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controllerStateChang

我正在尝试将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]时,它完全是空的

当然,如果没有控制器,就不会发生事件,这是理所当然的——所以也许我做错了什么

或者,无论出于何种原因,我的控制器根本无法生成所需的事件。我使用的是一个在操作系统中注册的PS4控制器,无论是无线还是通过USB,所以我不确定这里缺少了什么


是否有其他地方需要启用这些通知?我是否需要以某种方式初始化GCController框架?

因此,GCController框架只支持为iPod、iPhone和iPad控制器产品制作的MFi


对于希望支持非MFi控制器的任何人,都需要通过IOKit与HID接口。或者改用相当优秀的

,这样GCController框架只支持为iPod、iPhone和iPad控制器产品制作的MFi


对于希望支持非MFi控制器的任何人,都需要通过IOKit与HID接口。或者改用相当优秀的

我已经构建了一个框架,该框架包装了GCController,并支持使用IOS设备作为桥接器的非MFI控制器,特别是iCade控制器。一个优点是,控制器显示为MFi控制器,因此很容易拥有公共代码库。它支持所有苹果平台iOS、tvOS、OSX和watchOS。它使用NSNetservice进行网络通信。我已经建立了一个框架来包装GCController,并支持使用IOS设备作为桥接器的非MFI控制器,特别是iCade控制器。一个优点是,控制器显示为MFi控制器,因此很容易拥有公共代码库。它支持所有苹果平台iOS、tvOS、OSX和watchOS。它使用NSNetservice进行网络通信。