2010-05-02 5 views
3

Je travaille actuellement sur une application IPhone qui devrait faire vibrer le téléphone si un événement spécial se produit.IPhone SDK - Vibration déclenchée par Thread

Les vérifications pour déclencher l'alerte sont effectuées dans un thread.

Malheureusement, le téléphone ne vibre pas si je l'appelle

AudioServicesPlaySystemSound(kSystemSoundID_Vibrate); 

à l'intérieur du fil. (Cela fonctionne bien si je l'appelle dans ma méthode "viewDidAppear").

J'ai même essayé de faire un rappel à l'intérieur du thead comme ceci:

inside Thread: 
[self performSelectorOnMainThread:@selector(doAlarm) 
               withObject:nil 
              waitUntilDone:true];  

-(void)doAlarm { 
    AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);    
} 

qui a le même résultat: Aucune vibration sur le téléphone.

Comment faire pour que le téléphone vibre de l'intérieur d'un fil? Merci d'avance

+0

Quelle est la classe de l'objet "self"? La méthode 'doAlarm' est-elle appelée, mais rien ne se passe? – TechZen

Répondre

1

Un écouteur de microphone était actif, ce qui a causé le problème.