swift-dev
Installation
SKILL.md
Swift Apple Development (iOS + macOS)
Native apps for iPhone and Mac with Swift 6.4 and Xcode 27.0 (iOS 27.0 and macOS 27.0 SDKs). Xcode 27 runs only on Apple silicon and needs macOS 26.6 or later. Deployment targets: iOS 17 / macOS 14 for @Observable and SwiftData; iOS 26 / macOS 26 for Liquid Glass, Foundation Models, IntentModes and Observations.
This file is the platform-neutral core plus a router. Load a reference only when the task needs it - the Platform tables say which.
Start here
| Task | Default |
|---|---|
| New iOS app | XcodeGen project.yml (generated .xcodeproj gitignored) + logic in a local SPM package - ios-project-setup.md |
| New Mac app | XcodeGen for a full app; a bare SPM executable only for CLIs and small agents (manual .app assembly in spm-and-builds.md) |
| Logic, models, networking | A local SPM package with platforms: [.iOS(.v26), .macOS(.v15)], tested with swift test on the Mac - no simulator |
| Run on an iPhone | ios-devices-and-signing.md (Developer Mode, devicectl, automatic signing flags) |
| Ship | iOS: ios-distribution.md (TestFlight, App Store). Mac: macos-distribution.md (Developer ID + notarization, Mac App Store) |
SPM alone cannot produce an iOS .app - an app target needs an Xcode project, which is why XcodeGen generates one. XcodeGen traps (details and fixes in ios-project-setup.md):