2008-11-05 6 views
14

Im iPhone 2.x Firmware können Sie das iPhone vibrieren machen für andere Zeiträume als die systemdefinierte:Wie lässt sich das iPhone für beliebige Zeiträume vibrieren lassen?

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 

In jailbroken Telefone, verwendet man die MeCCA.framework zu verwenden, um der Lage sein, dies zu tun :

http://pastie.org/94481

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

Aber MeCCA.framework existiert nicht auf meine 2.x iPhone.

Antwort

13

Ja, das hat in der Vergangenheit zu AppStore-Ablehnungen geführt, und wahrscheinlich wird es wieder ... was bedeutet, dass es immer noch möglich ist, dies zu tun.

meine eigene Frage zu beantworten, ist hier, wie es geht:

Add Rahmen CoreTelephony in Build Phasen.

declare:

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); 

Start Vibration:

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

Stopp Vibration:

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

Dieser Code ist von HapticKeyboard, eine herunterladbare Anwendung, die das Telefon während der Eingabe summt. Es ist für jailbroken Telefone auf Cydia verfügbar. Siehe auch my jailbreaking experience)

Andere gute Referenzen?

+0

Dadurch wird Ihre App jedoch abgelehnt - weil sie private Methoden verwendet. – pop850

4

Es gibt keine Möglichkeit, dies mit dem SDK zu tun, sorry.

0

iOS 5 hat den benutzerdefinierten Vibrationsmodus implementiert. In einigen Fällen ist eine variable Vibration akzeptabel. Die einzige Sache ist nicht bekannt, welche Bibliothek damit umgeht (ziemlich sicher nicht CoreTelephony) und ob es für Entwickler offen ist.

+0

Überprüfen Sie diese Antwort http://stackoverflow.com/a/13047464/129202 – Jonny

Verwandte Themen