But use it with care: the underlying problem is that the OS X driver uses the same HID button code for long presses of the "Center" button on white and long presses of the actually different "Play/Pause" button on the aluminum remote.
In order to correctly translate that code in either kHIDRemoteButtonCodeCenterHold or kHIDRemoteButtonCodePlayHold, the remote control type needs to be known, first, which may not always be possible. This leaves you with three options:
-[HIDRemote lastSeenModel]
returns something other than kHIDRemoteModelUndetermined. This may be confusing to the user.-[HIDRemote lastSeenModel]
on application exit and set it at application launch using -[HIDRemote setLastSeenModel:]
. This should work fine in most use cases, but may pose a problem when a user uses different remote control models with your application.