descargar - ios 9 iphone 4
Taptic en iOS 9 (4)
¿Puedes usar el motor de taptic en iOS 9 con iPhone 6s? WatchOS2 y OS X tienen la capacidad de usar el motor háptico, así que asumí que también estaría en iOS 9, pero no pude encontrar ninguna API para ello.
En iOS 10 hay una nueva API llamada UIFeedbackGenerator. Vea esta post para más detalles. Solo funciona en el iPhone 7 por ahora.
Actualmente no hay una API pública disponible en iOS 9 y iOS 9.1.
Descargo de responsabilidad: existe una forma de interactuar con Taptic Engine directamente, pero existe un método privado. No debes usarlo en las aplicaciones de la App Store.
Sin embargo, si tiene más experiencia en la experimentación, entonces puede encontrar que hay una nueva clase privada disponible en iOS 9: _UITapticEngine
. Usted puede encontrar su encabezado here . Para llegar a ella, hay una nueva propiedad en la clase UIDevice
, llamada _tapticEngine
. Vea el encabezado completo de UIDevice
here . Puede seguir adelante e importar esos encabezados, o simplemente usar la función performSelector:
y performSelector:
método para llegar al motor de Taptic:
id tapticEngine = [[UIDevice currentDevice] performSelector:NSSelectorFromString(@"_tapticEngine") withObject:nil];
[tapticEngine performSelector:NSSelectorFromString(@"actuateFeedback:") withObject:@(1001)]; // Peek
[tapticEngine performSelector:NSSelectorFromString(@"endUsingFeedback:") withObject:@(1002)]; // Pop
Esto activará el motor de taptic para un gesto específico, aunque tanto Peek como Pop se sienten similares a mí. Si especifica cualquier otra constante, se establecerá por defecto una vibración.
He reunido un repo de prueba rápida en GitHub , que incluye una API compatible con Swift para usar el motor de taptic:
UIDevice.currentDevice().tapticEngine().actuateFeedback(UITapticEngineFeedbackPeek)
¡Úselo bajo su propio riesgo!
También he escrito un blog un poco más largo, explicando esto.
No parece haber una API publicada para iOS 9 actualmente.
En OSX necesitas usar NSHapticFeedbackManager
:
Referencia de clase NSHapticFeedbackManager
Y aquí está la API para WatchOS2
:
Referencia de clase WKInterfaceDevice
Simplemente buscando aquí puedes ver lo que estoy diciendo:
Búsqueda háptica (versión preliminar de iOS) - no muestra nada
Búsqueda háptica (versión preliminar de OSX): muestra NSHapticFeedbackManager
Yay, tuve un diseño UIKit
interno de ingeniería inversa y encontré otra forma (mucho más sencilla) de activar la retroalimentación a través de TapticEngine
. Solo podemos usar el marco de AudioToolbox
y varias constantes mágicas.
import AudioToolbox
AudioServicesPlaySystemSound(1519) // Actuate `Peek` feedback (weak boom)
AudioServicesPlaySystemSound(1520) // Actuate `Pop` feedback (strong boom)
AudioServicesPlaySystemSound(1521) // Actuate `Nope` feedback (series of three weak booms)
¡Espero que esto ayude!