AVFAudio built in
as of Xcode 26.6
Menu / on watchOS
What the Swift ecosystem actually serves on watchOS โ every count below is derived from the records, and every verdict carries its receipt.
across 231 records ยท 115 packages โ counted at generation time, never by hand
8 Apple frameworks already cover 26 capabilities on watchOS โ nothing to add to your Package.swift. Floors come from Apple's own symbol graphs.
as of Xcode 26.6
as of Xcode 26.6
as of Xcode 26.6
as of Xcode 26.6
as of Xcode 26.6
as of Xcode 26.6
as of Xcode 26.6
as of Xcode 26.6
How many verified packages serve each capability on watchOS. Every link opens the truth table focused on watchOS โ near-misses included.
12 verdicts across 12 packages, proven off watchOS. Where a build verdict grounds the claim, the receipt is the compiler's own words at the pinned commit โ and the same commit builds elsewhere, so the fence is real, not toolchain rot.
Network reachability serves it on iOSmacOStvOSvisionOSCatalyst
#if canImport(SystemConfiguration) โ fenced canImport(SystemConfiguration) โ the framework watchOS doesn't have
Spatial audio serves it on iOSmacOStvOSvisionOSCatalyst
not exported by the watchOS SDK symbol graph
Charts serves it on iOSmacOStvOSCatalyst
#if os(iOS) || os(tvOS) โ Core NSUIView shim (base class of every chart view) exists only under os(iOS) || os(tvOS); surface digest marks watchOS absent.
Haptic feedback serves it on iOSmacOStvOSvisionOSCatalyst
absent from the watchOS SDK symbol graphs
MIDI input/output serves it on iOSmacOSvisionOSCatalyst
not exported by the watchOS SDK symbol graph
Toasts / banners serves it on iOSCatalyst
#if os(iOS) โ Core Drops class is guarded by #if os(iOS); surface digest resolves watchOS as absent (gap) for this decl.
Animated GIF playback serves it on iOSmacOStvOSvisionOSCatalyst
#if !os(watchOS) โ fenced !os(watchOS)
Audio session management serves it on iOStvOSvisionOSCatalyst
#if os(iOS) || os(visionOS) || os(tvOS)
MIDI input/output serves it on iOSmacOSvisionOSCatalyst
#if !os(tvOS) && !os(watchOS) โ MIDI endpoint object โ the I/O surface
Haptic feedback serves it on iOSCatalyst
#if os(iOS) โ 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).
Animated GIF playback serves it on iOSmacOStvOSvisionOSCatalyst
#if !os(watchOS) โ fenced !os(watchOS)
Audio session management serves it on iOStvOSCatalyst
#if os(iOS) || os(tvOS) โ session categories exist only where AVAudioSession does
86 verdicts we can't call yet โ and refuse to guess. Each carries the reason on record.
AECAudioStream โ Echo cancellation
watchOS absent from manifest floors; no source fence
AudioKit โ Audio file reading/writing
watchOS absent from manifest floors
AudioKit โ Audio level metering
watchOS absent from manifest floors
AudioKit โ Microphone recording
watchOS absent from manifest floors
AudioKit โ Audio synthesis / DSP
watchOS absent from manifest floors; no source fence proves absence
AudioKit โ MIDI file read/write
watchOS absent from manifest floors
AudioKit โ MIDI input/output
watchOS absent from manifest floors; MIDI symbols resolve present but intent is unstated
AudioKit Waveform โ Waveform visualization
watchOS absent from manifest floors
AudioKitUI โ Waveform visualization
watchOS absent from manifest floors
AudioManager โ Audio playback
watchOS absent from manifest floors
AudioRecorder โ Microphone recording
watchOS absent from manifest floors
CAAudioHardware โ Audio device selection
manifest declares macOS only
ChunkedAudioPlayer โ Audio streaming
watchOS absent from manifest floors
CombineMIDI โ MIDI input/output
watchOS absent from manifest floors
DevoloopAudioKit โ Audio synthesis / DSP
watchOS absent from manifest floors
DSWaveformImage โ Waveform visualization
watchOS absent from manifest floors
DunneAudioKit โ Audio synthesis / DSP
watchOS absent from manifest floors
ExyteMediaPicker โ Camera capture
watchOS absent from manifest floors
FDSoundActivatedRecorder โ Microphone recording
watchOS absent from manifest floors
FDWaveformView โ Waveform visualization
watchOS absent from manifest floors
floatingpanel โ Bottom sheets
Manifest declares only .iOS(.v12); no watchOS floor. UIKit-based UIViewController surface; digest records no watchOS gap but no positive build evidence either.
watchOS absent from manifest floors
FRadioPlayer โ Audio streaming
watchOS absent from manifest floors
Gifu โ Animated GIF playback
watchOS absent from manifest floors
grdb.swift โ Database encryption
no claim recorded for this platform yet
grdb.swift โ In-memory database
README: 'Database queues support in-memory databases' (v7.11.1 README.md line 423)
HLSCore โ HLS streaming
watchOS absent from manifest floors
HLSVideoCache โ HLS streaming
watchOS absent from manifest floors
WebP needs the separate KingfisherWebP coder package โ nothing in this package serves it
watchOS absent from manifest floors
LiveKit โ Noise cancellation
watchOS absent from the manifest platforms (iOS/macOS/macCatalyst/tvOS); the SDK's WebRTC binary dependency makes watchOS support doubtful, but nothing in source proves absence
LiveKit โ WebRTC real-time streaming
watchOS absent from manifest floors
LiveKit โ Video calling
watchOS absent from manifest floors
watchOS absent from manifest floors
LiveKit โ Voice calling
watchOS absent from manifest floors
LiveKitKrispNoiseFilter โ Noise cancellation
watchOS absent from manifest floors
lottie-ios โ Vector animation playback
Package.swift declares no watchOS platform floor (iOS/macOS/tvOS/visionOS only). Missing floor is not absence evidence, so status is unknown.
MidiParser โ MIDI file read/write
empty manifest
watchOS absent from manifest floors
ModernAVPlayer โ Video playback
watchOS absent from manifest floors; no source fence
MorkAndMIDI โ MIDI input/output
watchOS absent from manifest floors
MuxPlayerSwift โ Video playback
watchOS absent from manifest floors; no source fence
Player โ Video playback
watchOS absent from manifest floors; no source fence
Public decl present per surface digest, but internal sheet implementation is os(iOS)-gated; behavior on watchOS unverified
pow โ Particle effects
Surface shows no watchOS gap (decl is unguarded), but gaps are #if-derived, not build verdicts; manifest declares no watchOS floor and README requirements omit watchOS. No build verification, so unknown.
pow โ View transitions / motion effects
Surface shows no watchOS gap (decl is unguarded), but gaps are #if-derived, not build verdicts; manifest declares no watchOS floor and README requirements omit watchOS. No build verification, so unknown.
progresshud โ Loading indicators
Only .iOS(.v17) declared; missing floor is not absence evidence.
progresshud โ Toasts / banners
Only .iOS(.v17) declared; missing floor is not absence evidence.
realm-swift โ Database encryption
README 'Fully Encrypted' section demonstrates Realm.Configuration(encryptionKey: key) with a 64-byte key ('Data can be encrypted in-flight and at-rest').
richtextkit โ Rich text editing
The core editor guard omits watchOS (with 'iOS'/'macOS' defined only for iOS/macCatalyst/macOS in Package.swift), so the editor view is compiled out on watchOS. The digest resolves this as conditional, not absent, so absence cannot be proven.
Apple-ImageIO-backed WebP coder is in the core surface, but it depends on OS-level WebP support (iOS 14+/macOS 11+ per README), is not registered by default for animated WebP, and its runtime availability checks live in unparsed implementation files.
SFBAudioEngine โ Audio playback
the playback engine's primary surface is Objective-C (194 files unparsed in v1); Swift-side extraction found no anchorable player symbol โ honestly unverified rather than guessed
UIView-backed DSL branch: digest gaps mark watchOS absent for this variant.
SoulAudioKit โ Audio synthesis / DSP
watchOS absent from manifest floors
SoundpipeAudioKit โ Pitch detection
watchOS absent from manifest floors
SpeziSpeech โ Speech-to-text
watchOS absent from manifest floors
SpeziSpeech โ Text-to-speech
watchOS absent from manifest floors
SPFKAudioHardware โ Audio device selection
manifest declares macOS only
SPFKSoundAnalysis โ Sound classification
manifest declares macOS only
SporthAudioKit โ Audio synthesis / DSP
watchOS absent from manifest floors
sqlite.swift โ Database encryption
SQLCipher product is linked only .when(platforms: applePlatforms, traits: ["SQLCipher"]); watchOS is in applePlatforms, so encryption works when the SQLCipher trait is enabled โ conditional, hence unknown.
STKAudioKit โ Audio synthesis / DSP
watchOS absent from manifest floors
StreamVideo โ WebRTC real-time streaming
watchOS absent from manifest floors (iOS-only manifest)
watchOS absent from manifest floors (iOS-only manifest)
StreamVideo โ Screen sharing
watchOS absent from manifest floors (iOS-only manifest)
watchOS absent from manifest floors (iOS-only manifest)
swift-system-sound โ Audio playback
empty manifest
SwiftAudioEx โ Background audio playback
manifest declares iOS only
SwiftAudioEx โ Audio playback
manifest declares iOS only; AVPlayer exists elsewhere but the package states no intent
SwiftAudioEx โ Now-playing / remote controls
manifest declares iOS only; AVPlayer exists elsewhere but the package states no intent
SwiftAudioPlayer โ Audio streaming
watchOS absent from manifest floors
SwiftEdgeTTS โ Text-to-speech
watchOS absent from manifest floors
SwiftLAME โ MP3 encoding/decoding
watchOS absent from manifest floors
SwiftSpeech โ Speech-to-text
watchOS absent from manifest floors
watchOS absent from manifest floors
swiftui-pull-to-refresh โ Loading indicators
Surface parses PRESENT, but UIViewRepresentable/UIActivityIndicatorView are unavailable on watchOS and the reference is unguarded; unknown.
swiftui-pull-to-refresh โ Pull to refresh
Surface parses PRESENT, but UIViewRepresentable/UIActivityIndicatorView are unavailable on watchOS and the reference is unguarded; no absence guard evidence, so unknown.
SwiftWhisper โ Speech-to-text
memory constraints make whisper.cpp doubtful; nothing proven
Swifty360Player โ Video playback
watchOS absent from manifest floors; no source fence
SwiftySound โ Audio playback
README targets iOS/macOS/tvOS; no watchOS signal either way
no claim recorded for this platform yet
watchOS absent from manifest floors; no camera API there anyway โ but nothing in source proves it
watchOS absent from manifest floors
WebMIDIKit โ MIDI input/output
empty manifest
WebRTC (stasel) โ WebRTC real-time streaming
binary-only
YouTubePlayerKit โ Video playback
watchOS absent from manifest floors; no source fence
This whole page, one fetch:
/api/on/watchos.json
โ counts, coverage, fences, and receipts as static JSON.