🍦 SwiftServe Get

Menu / ui.haptics

Can Swift packages do haptic feedback?

also known as: core haptics · vibration · taptic

Built into the OS — no dependency

Apple frameworkiOSmacOSwatchOStvOSvisionOSLinuxCatalyst
CoreHaptics built in as of Xcode 26.6
Details

Custom haptic patterns via CHHapticEngine. Present in the visionOS and tvOS SDKs; absent from the watchOS SDK (WatchKit WKInterfaceDevice.play is the watch path).

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

not served here · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

not served here · confidence 0.90 · as of Xcode 26.6

serves it · confidence 0.90 · as of Xcode 26.6

PackageiOSmacOSwatchOStvOSvisionOSLinuxCatalyst
confettiswiftui as of 3.0.0
Details

serves it · confidence 0.70 · as of 3.0.0

  • View.confettiCannon
    Sources/View+ConfettiCannon.swift:47
    View the line on GitHub →
    Public API exposes hapticFeedback: Bool = true; checkout source plays UIImpactFeedbackGenerator(.heavy) on each explosion on iOS.
  • ConfettiCannon.init
    Sources/ConfettiSwiftUI.swift:77
    View the line on GitHub →
    hapticFeedback parameter in initializer signature.
  • README.md:0
    View the line on GitHub →
    README: haptic feedback on each confetti explosion (hapticFeedback parameter, default true).
?

not verified yet · confidence 0.30 · as of 3.0.0

  • View.confettiCannon
    Sources/View+ConfettiCannon.swift:47
    View the line on GitHub →
    hapticFeedback parameter is present, but the haptic playback in the checkout is internally compiled out on macOS (canImport(UIKit) guard, not visible in the public surface), so no surface-level absence evidence exists; likely a no-op.

serves it · confidence 0.70 · as of 3.0.0

  • View.confettiCannon
    Sources/View+ConfettiCannon.swift:47
    View the line on GitHub →
    hapticFeedback parameter present; checkout source has a dedicated os(watchOS) branch playing WKInterfaceDevice.current().play(.click).
?

not verified yet · confidence 0.30 · as of 3.0.0

  • View.confettiCannon
    Sources/View+ConfettiCannon.swift:47
    View the line on GitHub →
    hapticFeedback parameter is present, but checkout source excludes tvOS from haptic playback via an internal !os(tvOS) guard not visible in the public surface; likely a no-op.
?

not verified yet · confidence 0.30 · as of 3.0.0

  • View.confettiCannon
    Sources/View+ConfettiCannon.swift:47
    View the line on GitHub →
    hapticFeedback parameter is present, but checkout source excludes visionOS from haptic playback via an internal !os(visionOS) guard not visible in the public surface; likely a no-op.
?

not verified yet · confidence 0.15 · as of 3.0.0

  • View.confettiCannon
    Sources/View+ConfettiCannon.swift:47
    View the line on GitHub →
    SwiftUI-only module; no haptics API on Linux; no surface-level absence evidence, so status stays unknown.
?

not verified yet · confidence 0.40 · as of 3.0.0

  • View.confettiCannon
    Sources/View+ConfettiCannon.swift:47
    View the line on GitHub →
    UIImpactFeedbackGenerator path compiles on Catalyst (UIKit importable), but whether it produces actual haptic output on Mac hardware is unverified.
pow as of 1.0.6
Details

serves it · confidence 0.60 · as of 1.0.6

  • AnyChangeEffect.hapticFeedback
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:8
    View the line on GitHub →
    Triggers haptic feedback whenever a value changes; decl guarded by #if os(iOS), resolves present on iOS. All evidence conditional, so capped at 0.6.
  • AnyChangeEffect.feedbackHapticSelection
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:32
    View the line on GitHub →
    Selection-change haptic.
  • AnyChangeEffect.feedback
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:25
    View the line on GitHub →
    feedback(hapticImpact:) using UIImpactFeedbackGenerator.FeedbackStyle.

not served here · confidence 0.60 · as of 1.0.6

  • AnyChangeEffect.hapticFeedback
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:8
    View the line on GitHub →
    Core haptics symbol is guarded by #if os(iOS); surface digest gaps mark macOS absent.
  • AnyChangeEffect.feedbackHapticSelection
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:32
    View the line on GitHub →
    Also absent on macOS per surface digest gaps.

not served here · confidence 0.60 · as of 1.0.6

  • AnyChangeEffect.hapticFeedback
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:8
    View the line on GitHub →
    Core haptics symbol is guarded by #if os(iOS); surface digest gaps mark watchOS absent. Pow provides no watchOS haptics path (WatchKit haptics are not wrapped).

not served here · confidence 0.60 · as of 1.0.6

  • AnyChangeEffect.hapticFeedback
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:8
    View the line on GitHub →
    Core haptics symbol is guarded by #if os(iOS); surface digest gaps mark tvOS absent.

not served here · confidence 0.60 · as of 1.0.6

  • AnyChangeEffect.hapticFeedback
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:8
    View the line on GitHub →
    Core haptics symbol is guarded by #if os(iOS); surface digest gaps mark visionOS absent.

not served here · confidence 0.60 · as of 1.0.6

  • AnyChangeEffect.hapticFeedback
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:8
    View the line on GitHub →
    Core haptics symbol is guarded by #if os(iOS); surface digest gaps mark linux absent.

serves it · confidence 0.60 · as of 1.0.6

  • AnyChangeEffect.hapticFeedback
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:8
    View the line on GitHub →
    os(iOS) holds when building for Mac Catalyst; surface digest lists no macCatalyst gap for this decl. API compiles and is callable, though runtime haptic hardware on Mac is limited. All evidence conditional, so capped at 0.6.
  • AnyChangeEffect.feedbackHapticSelection
    #if os(iOS)
    Sources/Pow/Effects/HapticFeedbackEffect.swift:32
    View the line on GitHub →

✓ serves it · ◐ with conditions · ✕ not served (proven) · ? not verified yet — hover any verdict for the receipt, click to pin it