← ClaudeAtlas

avkitlisted

Create media playback experiences using AVKit. Use when adding video players with AVPlayerViewController, enabling Picture-in-Picture, routing media with AirPlay, using SwiftUI VideoPlayer views, configuring transport controls, displaying subtitles and closed captions, or integrating AVFoundation playback with system UI.
dpearson2699/swift-ios-skills · ★ 730 · AI & Automation · score 80
Install: claude install-skill dpearson2699/swift-ios-skills
# AVKit High-level media playback UI built on AVFoundation. Provides system-standard video players, Picture-in-Picture, AirPlay routing, transport controls, and subtitle/caption display. Targets Swift 6.3 / iOS 26+. ## Contents - [Setup](#setup) - [AVPlayerViewController](#avplayerviewcontroller) - [SwiftUI VideoPlayer](#swiftui-videoplayer) - [Picture-in-Picture](#picture-in-picture) - [AirPlay](#airplay) - [Transport Controls and Playback Speed](#transport-controls-and-playback-speed) - [Subtitles and Closed Captions](#subtitles-and-closed-captions) - [Common Mistakes](#common-mistakes) - [Review Checklist](#review-checklist) - [References](#references) ## Setup ### Audio Session Configuration Configure the audio session and background modes before any playback. Without this, PiP and background audio fail silently. 1. Add the `audio` background mode to `UIBackgroundModes` in Info.plist 2. Set the audio session category to `.playback` ```swift import AVFoundation func configureAudioSession() { let session = AVAudioSession.sharedInstance() do { try session.setCategory(.playback, mode: .moviePlayback) try session.setActive(true) } catch { print("Audio session configuration failed: \(error)") } } ``` ### Imports ```swift import AVKit // AVPlayerViewController, VideoPlayer, PiP import AVFoundation // AVPlayer, AVPlayerItem, AVAsset ``` ## AVPlayerViewController `AVPlayerViewController` is the standard UIKit player.