2008-11-05 14 views
14

En el firmware 2.x iPhone, ¿Se puede hacer vibrar el iPhone por períodos distintos del sistema definido por:¿Cómo haces que el iPhone vibre para duraciones arbitrarias?

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 

En los teléfonos con jailbreak, que solía ser capaz de utilizar el MeCCA.framework para hacer esto :

http://pastie.org/94481

MeCCA_Vibrator *v = new MeCCA_Vibrator; 
v->activate(1); 
sleep(5); 
v->deactivate(); 

Pero MeCCA.framework no existe en mi 2.x iPhone.

Respuesta

13

Sí, esto es algo que ha causado rechazos AppStore en el pasado, y probablemente volverá a ocurrir ... lo que significa que todavía es posible hacerlo.

responder a mi propia pregunta, aquí está cómo hacerlo:

Agregar CoreTelephony marco en las fases de generación.

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; 

initialize:

connection = _CTServerConnectionCreate(kCFAllocatorDefault, &vibratecallback, &x); 

vibraciones inicio:

_CTServerConnectionSetVibratorState(&x, connection, 3, intensity, 0, 0, 0); 

parada de 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. Consulte también my jailbreaking experience)

¿Alguna otra buena referencia?

+0

Esto hará que su aplicación sea rechazada, sin embargo, porque usa métodos privados. – pop850

4

No hay forma de hacerlo con el SDK, lo siento.

0

iOS 5 ha implementado el modo vibraciones personalizadas. 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.

+0

Consulte esta respuesta en http://stackoverflow.com/a/13047464/129202 – Jonny

Cuestiones relacionadas