Library / Outcomes & notifications
Connect / charging double thump
A device pairs, a charger connects, a session links — the MagSafe-style double thump.
import CoreHaptics
func playConnectThump(engine: CHHapticEngine) throws {
func thump(at time: TimeInterval, intensity: Float) -> CHHapticEvent {
CHHapticEvent(eventType: .hapticTransient, parameters: [
CHHapticEventParameter(parameterID: .hapticIntensity, value: intensity),
CHHapticEventParameter(parameterID: .hapticSharpness, value: 0.25), // round
], relativeTime: time)
}
let pattern = try CHHapticPattern(
events: [thump(at: 0, intensity: 0.9),
thump(at: 0.16, intensity: 0.7)],
parameters: [])
let player = try engine.makePlayer(with: pattern)
try engine.start()
try player.start(atTime: CHHapticTimeImmediate)
}