vibra - ¿Cómo haces que el iPhone vibre para duraciones arbitrarias?
vibracion iphone 6 (4)
En el firmware de iPhone 2.x, ¿puedes hacer que el iPhone vibre para duraciones que no sean las definidas por el sistema?
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
En los teléfonos con jailbreak, solía poder usar el MeCCA.framework para hacer esto:
MeCCA_Vibrator *v = new MeCCA_Vibrator;
v->activate(1);
sleep(5);
v->deactivate();
Pero MeCCA.framework no existe en mi iPhone 2.x.
No hay forma de hacer esto usando el SDK, lo siento.
No solo es imposible hacerlo con el SDK, sino que también es el primer elemento en los Criterios de rechazo no oficiales de la App Store .
iOS 5 ha implementado el modo Custom Vibrations. Entonces, en algunos casos, la vibración variable es aceptable. Lo único desconocido es qué biblioteca trata con eso (bastante seguro, no CoreTelephony) y si está abierto para desarrolladores.
Sí, esto es algo que ha causado rechazos de AppStore en el pasado, y probablemente volverá a ocurrir ... lo que significa que todavía es posible hacerlo.
Respondiendo a mi propia pregunta, he aquí cómo hacerlo:
Agregar framework CoreTelephony en Build Fhases.
declarar:
extern void * _CTServerConnectionCreate(CFAllocatorRef, int (*)(void *, CFStringRef, CFDictionaryRef, void *), int *);
extern int _CTServerConnectionSetVibratorState(int *, void *, int, int, float, float, float);
static void* connection = nil;
static int x = 0;
inicializar:
connection = _CTServerConnectionCreate(kCFAllocatorDefault, &vibratecallback, &x);
comenzar la vibración:
_CTServerConnectionSetVibratorState(&x, connection, 3, intensity, 0, 0, 0);
detener la vibración:
_CTServerConnectionSetVibratorState(&x, connection, 0, 0, 0, 0, 0);
Este código es de HapticKeyboard , una aplicación descargable que hace sonar el teléfono mientras escribe. Está disponible para teléfonos jailbreak en Cydia. Ver también mi experiencia jailbreaking )
¿Alguna otra buena referencia?