在Swift中无限期振动

时间:2018-10-16 02:10:33

标签: ios swift

如何使iPhone无限期振动?我知道我可以做到:

while true {
    AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
}

有什么办法可以使振动持续一定的秒数,或者有类似的结果更干净?还有,有没有办法使振动更剧烈?

1 个答案:

答案 0 :(得分:0)

我认为您应该使用计时器

var timer: Timer?
var numberRepeat = 0
var maxNumberRepeat = 20

func startTimer() {
    //
    timer = Timer.scheduledTimer(timeInterval: 2, target: self, selector: #selector(self.timerHandler), userInfo: nil, repeats: true)
}

func stopTimer() {
    timer?.invalidate()
    timer = nil
}

@objc func timerHandler() {
    if numberRepeat <= maxNumberRepeat {
        numberRepeat += 1
        vibrateDevice()
    } else {
        stopTimer()
    }
}

func vibrateDevice() {
    AudioServicesPlayAlertSound(SystemSoundID(kSystemSoundID_Vibrate))
}