There is specific documentation stating that MFi controllers should work on OSX here. However, my controller is not being recognized as the documentation suggests it should. I have a MadCatz CTRLi, if that makes a difference. Additionally, I have connected it to my Apple TV and iPhone flawlessly, exactly as the documentation describes, which suggests to me that OSX is lacking something in the support department. I even tried the class method
[GCController startWirelessControllerDiscoveryWithCompletionHandler:^{
}];
to see if it OSX just requires you to explicitly connect once the app is launched, but the array remains empty when I call
[GCController controllers];
Does OSX even have support for MFi controllers, or did it get shoved aside at some point before it was finished?
According Mad Catz (as stated in your link), the controller isn't licensed to support Mac OS X. The Steelseries Stratus XL is specifically marketed as having Mac OS X support, so I assume they have both an OS X and an iOS license for that controller.
The Stratus XL is usable through the GameController framework in OS X (I can easily test by compiling and running Apple's DemoBots sample code). It's also usable through Apple's low level IOKit HID APIs. Most games in OS X only try to use gamepads through the IOKit APIs – for example the popular SDL library doesn't support GameController.framework in OS X at the moment, but it does use IOKit HID APIs for joystick input, and Steam's Big Picture mode uses SDL – so my Stratus XL works in Steam's Big Picture mode.