I donβt know if this helps, but in my case, I wanted for some reason I had a longer vibration, and I created this extension for him.
extension UIViewController { func vibrate(_ style: UIImpactFeedbackGenerator.FeedbackStyle = .heavy) { let impactFeedbackgenerator = UIImpactFeedbackGenerator(style: style) impactFeedbackgenerator.prepare() impactFeedbackgenerator.impactOccurred() } func vibrateBomb() { for i in 0...4 { DispatchQueue.main.asyncAfter(deadline: .now() + Double(i * 1)/3) { self.vibrate() } DispatchQueue.main.asyncAfter(deadline: .now() + Double(i * 1)/5) { self.vibrate() } DispatchQueue.main.asyncAfter(deadline: .now() + Double(i * 1)/8) { self.vibrate() } } } }
source share