Loading...
Loading...
Found 7 Skills
Implement, review, or improve photo picking, camera capture, and media handling in iOS apps using PhotoKit and AVFoundation. Use when working with PhotosPicker, PHPickerViewController, camera capture sessions (AVCaptureSession), photo library access, image loading and display, video recording, or media permissions. Also use when selecting photos from the library, taking pictures, recording video, processing images, or handling photo/camera privacy permissions in Swift apps.
Use when working with camera, photos, audio, haptics, ShazamKit, or Now Playing. Covers AVCaptureSession, PHPicker, PhotosPicker, AVFoundation, Core Haptics, audio recognition, MediaPlayer, CarPlay, MusicKit.
Reference — AVFoundation audio APIs, AVAudioSession categories/modes, AVAudioEngine pipelines, bit-perfect DAC output, iOS 26+ spatial audio capture, ASAF/APAC, Audio Mix with Cinematic framework
Use when integrating ANY iOS system feature - Siri, Shortcuts, Apple Intelligence, widgets, IAP, camera, photo library, photos picker, audio, axiom-haptics, axiom-localization, privacy. Covers App Intents, WidgetKit, StoreKit, AVFoundation, PHPicker, PhotosPicker, Core Haptics, App Shortcuts, Spotlight.
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.
New SwiftUI APIs, behaviors, and deprecations introduced in the 2027 OS releases (iOS 27, macOS 27, watchOS 27, tvOS 27, visionOS 27). Use when a SwiftUI view using @State fails to compile with "used before being initialized", "invalid redeclaration of synthesized property", or "extraneous argument label" errors after an SDK update (@State migrated from a property wrapper to a macro in SDK 27; the obvious fix of reordering init assignments is WRONG and produces incorrect runtime behavior; you MUST consult this skill's references before answering); when @ViewBuilder or @ContentBuilder code hits ambiguous overloads in overlay/background or type-check performance regressions after an SDK update; when the user asks what's new in SwiftUI (generally, or for a specific 2027 platform); when adding drag-to-reorder to any container (List, LazyVStack, LazyVGrid, stacks, or custom layouts) via reorderable()/reorderContainer, including the drag-and-drop that integrates with it (dragContainer, dropDestination), or combining items by dropping one onto another; when working with AsyncImage loading and caching (images reloading when scrolling back, the default HTTP cache, a per-request cache policy via AsyncImage(request:)/URLRequest, or applying a custom URLSession with asyncImageURLSession); when adding swipe actions to rows (swipe-to-delete or other swipe actions) in a ScrollView, LazyVStack, LazyVGrid, or stack and not just List, via swipeActions()/swipeActionsContainer(); when working with toolbars, such as controlling which items stay visible versus move into the overflow menu when space is constrained or buttons get cut off (visibilityPriority, ToolbarOverflowMenu), pinning an item so it never overflows (topBarPinnedTrailing), minimizing the navigation bar or toolbar on scroll (toolbarMinimizeBehavior), generating toolbar items with ForEach, or hiding the status bar via the statusBar toolbar placement; when presenting a confirmation dialog or alert from an optional item binding (the sheet(item:) shape) so it shows when the bound value becomes non-nil and passes the unwrapped item into the actions and message closures; when building or migrating a document-based app (including read-only document viewers), reading or writing files through DocumentGroup, optimizing autosave performance for package documents, accessing the document's file URL directly (for example to hand to AVFoundation, PDFKit, Core Image, or any C library that takes a path), reporting progress from a save or load, or migrating from FileDocument / ReferenceFileDocument; or when resolving other SDK 27.0 source incompatibilities and deprecation warnings (for example statusBarHidden on visionOS).
camera freezes, preview rotated wrong, capture slow, session interrupted, black preview, front camera mirrored, camera not starting, AVCaptureSession errors, startRunning blocks, phone call interrupts camera