我正在编写一个 iPhone 应用程序,该应用程序需要反复振动,直到用户停止它,我正在使用一个由线程调用的循环来执行此操作,如下所示:
-(void)vibrateLoop {
while (1) {
sleep(0.5);
if (!vibrate) {
[NSThread exit];
return;
}
AudioServicesPlaySystemSound(kSystemSoundID_Vibrate);
}
}
但是,当我从 iPhone 而不是 Xcode 运行应用程序时,振动不会发生。但是当在 Xcode 中以调试模式运行它时,手机会像预期的那样振动。到底是怎么回事?