私は、ユーザーが停止するまで繰り返し振動する必要があるiPhoneアプリをプログラミングしており、次のようなスレッドによって呼び出されるループを使用してプログラミングしています。
-(void)vibrateLoop {
while (1) {
sleep(0.5);
if (!vibrate) {
[NSThread exit];
return;
}
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
}
ただし、XcodeからではなくiPhoneからアプリを実行すると、バイブレーションが発生しなくなります。ただし、デバッグモードのXcodeで実行すると、電話は想定どおりに振動します。何が起こっている?