While there are plenty of articles about using SwiftData outside of SwiftUI , many fail to mention how you might observe insertions and deletions similarly to how SwiftUI’s Query macro works. Because SwiftData is backed by CoreData, changes can be detected using the .NSPersistentStoreRemoteChange notification. A simple Database wrapper class can be created that vends AsyncStream 's of SwiftData…
This is a follow up to my previous post on Reading and Writing Spatial Video with AVFoundation . Writing Spatial Photos Reading Spatial Photos Spatial photos are even less documented than spatial video, however it's not too difficult to create your own spatial photos once you know the basics. While spatial videos are contained in MV-HEVC video files, spatial photos are stored in a HEIC file. HEIC…
I've been using Xcode Cloud as a CI/CD for all my apps since it came out. It has streamlined the release cycle, and since the addition of support for "What to Test" notes in June 2023, you can build and distribute an app to external testers with the click of a button, a git commit, or a terminal command . When adding Xcode Cloud release workflows to a cross-platform iOS and macOS app, however, I…
Reading Spatial Video using AVAssetReader Reading Spatial Video using AVPlayer Writing Spatial Video using AVAssetWriter If you've worked with AVFoundation's APIs, you'll be familiar with CVPixelBuffer , an object which represents a single video frame. AVFoundation manages the tasks of reading, writing, and playing video frames, but the process changes when dealing with spatial video (aka…