如何在swift中使用自定义振动模式或进行双重振动?

时间:2017-06-07 22:19:11

标签: ios iphone swift swift3

我想在倒计时结束时发出双重振动,但我看到的所有选项都不起作用。例如,我尝试了以下内容:

AudioServicesPlayAlertSound(UInt32(kSystemSoundID_Vibrate))

但它没有按照描述的那样工作。我不记得它是否只振动一次或根本不振动,但它振动两次

let feedbackGenerator = UIImpactFeedbackGenerator(style: .heavy)
feedbackGenerator.impactOccurred()

let feedbackGenerator = UINotificationFeedbackGenerator()
feedbackGenerator.notificationOccurred(.error)`enter code here`

let feedbackGenerator = UISelectionFeedbackGenerator()
feedbackGenerator.selectionChanged()

根本没有任何工作。

最后我尝试了这个:

var counter = 0
var timer : NSTimer?

func vibratePhone() {
    counter++
    switch counter {
    case 1, 2:
        AudioServicesPlaySystemSound(kSystemSoundID_Vibrate)
    default:
        timer?.invalidate()
    }
}

@IBAction func vibrate(sender: UIButton) {
    counter = 0
    timer = NSTimer.scheduledTimerWithTimeInterval(0.6, target: self, selector: "vibratePhone", userInfo: nil, repeats: true)
}

}`

这确实有效,但在播放第一次震动之前它有一个大约1秒的延迟,这比没有好,但不是我想要的。

如果我能弄明白如何使用我在iPhone上创建的振动模式之一,然后将其保存到我的MBP并在我的Xcode应用程序中使用它,那么最理想的是我最接近这个正在让客户从我的手机上振动plist文件。之后我就不知道如何使用它(如果我可以使用的话)。

有没有人对如何实现这一点有任何想法? 谢谢!

0 个答案:

没有答案