Via How to access motion & orientation information of remote:
Prima di tutto, si ha la necessità di utilizzare NSNotificationCenter
per trovare i controllori. Probabilmente la cosa migliore è farlo all'avvio dell'app. Qualcosa di simile:
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(controllerDidConnect:) name:GCControllerDidConnectNotification object:nil];
Possiamo quindi utilizzare il seguente codice dopo il collegamento per memorizzare le informazioni dispositivo in una proprietà:
- (void)controllerDidConnect:(NSNotification *)notification {
self.myController = notification.object;
}
Il profilo remoto è una sottoclasse del profilo micro gamepad. Motion e altri dati possono essere monitorati con l'aggiunta di un valore cambiato gestore di eventi:
GCMicroGamepad *profile = self.myController.microGamepad
profile.valueChangedHandler=^(GCMicroGamepad *gamepad, GCControllerElement *element) {
if (self.myController.motion) {
NSLog(@"motion supported");
NSLog(@"gravity: %f %f %f", self.myController.motion.gravity.x, self.myController.motion.gravity.y, self.myController.motion.gravity.z);
NSLog(@"userAcc: %f %f %f", self.myController.motion.userAcceleration.x, self.myController.motion.userAcceleration.y, self.myController.motion.userAcceleration.z);
NSLog(@"rotationRate: %f %f %f", self.myController.motion.rotationRate.x, self.myController.motion.rotationRate.y, self.myController.motion.rotationRate.z);
NSLog(@"attitude: %f %f %f %f", self.myController.motion.attitude.x, self.myController.motion.attitude.y, self.myController.motion.attitude.z, self.myController.motion.attitude.w);
}
};
fonte
2015-09-29 12:32:24
Hai ricevuto un kit di sviluppo fisico o stai usando il simulatore? –
Il kit fisico – CodyMace
Ecco un articolo dal forum degli sviluppatori di app su questo: https://forums.developer.apple.com/thread/18861 – Stefan