Swift 开发
- 作者仓库星标 0
- 作者仓库 skills-registry
Swift Development
Prerequisites
- macOS with Xcode 15+ installed (Xcode 16+ for Swift 6)
- Xcode Command Line Tools:
xcode-select --install - Verify:
xcodebuild -versionandswift --version
Quick Start
New Swift Package
# Use the included script for full setup
./scripts/new_package.sh MyLibrary --type library --ios --macos
# Or manually
swift package init --type library --name MyLibrary
Build and Test
# SPM packages
swift build
swift test
# Xcode projects
xcodebuild -workspace App.xcworkspace -scheme App \
-destination 'platform=iOS Simulator,name=iPhone 15' build
# Use included script for common options
./scripts/run_tests.sh --parallel --coverage
Format and Lint
# Use included script
./scripts/format_and_lint.sh Sources/
# Check mode (CI)
./scripts/format_and_lint.sh --check
Simulator Management
# Use included script
./scripts/simulator.sh list
./scripts/simulator.sh boot "iPhone 15"
./scripts/simulator.sh screenshot
./scripts/simulator.sh dark
Core Workflows
Building iOS Apps
# Debug build for simulator
xcodebuild -workspace App.xcworkspace -scheme App \
-destination 'platform=iOS Simulator,name=iPhone 15' \
build
# Release archive
xcodebuild archive \
-workspace App.xcworkspace -scheme App \
-archivePath ./build/App.xcarchive \
-configuration Release
# Export IPA (use templates from assets/ExportOptions/)
xcodebuild -exportArchive \
-archivePath ./build/App.xcarchive \
-exportPath ./build/export \
-exportOptionsPlist assets/ExportOptions/app-store.plist
Testing
# All tests
xcodebuild test -workspace App.xcworkspace -scheme App \
-destination 'platform=iOS Simulator,name=iPhone 15'
# Specific test
xcodebuild test -only-testing:AppTests/MyTestClass/testMethod
# With coverage
xcodebuild test -enableCodeCoverage YES \
-resultBundlePath ./TestResults.xcresult
App Installation
# Install on booted simulator
xcrun simctl install booted ./Build/Products/Debug-iphonesimulator/App.app
# Launch
xcrun simctl launch booted com.company.app
Official Documentation
Reference Links (for humans)
These are Apple's official documentation links for manual browsing:
| Resource | URL |
|---|---|
| Swift Documentation | https://developer.apple.com/documentation/swift |
| SwiftUI | https://developer.apple.com/documentation/swiftui |
| Swift Concurrency | https://developer.apple.com/documentation/swift/concurrency |
| Swift Testing | https://developer.apple.com/documentation/testing |
Note: Apple's documentation sites are JavaScript SPAs and cannot be fetched programmatically with WebFetch.
WebFetch-Compatible Sources
Use these GitHub-based sources for live documentation fetching:
| Resource | URL |
|---|---|
| Swift Testing | https://github.com/apple/swift-testing |
| Swift Evolution Proposals | https://github.com/apple/swift-evolution/tree/main/proposals |
| Swift Compiler Docs | https://github.com/apple/swift/tree/main/docs |
| Swift Standard Library | https://github.com/apple/swift/tree/main/stdlib |
| Swift Async Algorithms | https://github.com/apple/swift-async-algorithms |
| Swift Collections | https://github.com/apple/swift-collections |
When to Fetch Documentation
Use WebFetch to retrieve documentation from GitHub in these situations:
- Swift Testing: When you need details on
@Test,#expect,#require, traits, or parameterized tests - Swift Evolution: When checking accepted proposals for new language features
- Framework Details: When implementing features from Apple's open-source Swift packages
- Uncertainty: When you're unsure about current API patterns or best practices
How to fetch: Use WebFetch with GitHub URLs:
- README:
https://github.com/apple/swift-testing - Raw markdown:
https://raw.githubusercontent.com/apple/swift-testing/main/README.md - Specific docs:
https://github.com/apple/swift-evolution/blob/main/proposals/0409-access-level-on-imports.md
Example prompt for WebFetch: "Extract the main features, macros, and usage examples from this documentation"
Reference Files
Detailed documentation for specific topics:
| Topic | File |
|---|---|
| SwiftUI patterns | references/swiftui-patterns.md |
| Testing patterns | references/testing-patterns.md |
| Swift 6 concurrency | references/concurrency.md |
| Architecture patterns | references/architecture.md |
| Best practices | references/best-practices.md |
| Swift Package Manager | references/spm.md |
| xcodebuild commands | references/xcodebuild.md |
| Simulator control | references/simctl.md |
| Code signing | references/code-signing.md |
| CI/CD setup | references/cicd.md |
| Troubleshooting | references/troubleshooting.md |
Included Scripts
| Script | Purpose |
|---|---|
scripts/new_package.sh |
Create new Swift package with config files |
scripts/run_tests.sh |
Run tests with common options |
scripts/format_and_lint.sh |
Format and lint Swift code |
scripts/simulator.sh |
Quick simulator management |
Asset Templates
| Asset | Purpose |
|---|---|
assets/Package.swift.template |
Swift package template |
assets/.swiftformat |
SwiftFormat configuration |
assets/.swiftlint.yml |
SwiftLint configuration |
assets/ExportOptions/ |
Archive export plist templates |
Quick Reference
Essential Commands
| Task | Command |
|---|---|
| Build package | swift build |
| Build release | swift build -c release |
| Run tests | swift test |
| Update deps | swift package update |
| List simulators | xcrun simctl list devices |
| Boot simulator | xcrun simctl boot "iPhone 15" |
| Install app | xcrun simctl install booted ./App.app |
| Format code | swiftformat . |
| Lint code | swiftlint |
Common Destinations
# iOS Simulator
-destination 'platform=iOS Simulator,name=iPhone 15'
# macOS
-destination 'platform=macOS'
# Generic iOS (for archives)
-destination 'generic/platform=iOS'
<!-- tomevault:4.0:skill_md:2026-05-23 -->Source: ComeOnOliver/skillshub — distributed by TomeVault.
- 流狐分类
- 通用
- 作者声明 Agent
- 未找到明确声明;不据此推断已兼容或已测试
- 静态检查
- 88 / 100 · 启发式扫描,不代表运行安全
- 作者 / 版本 / 许可
- @tomevault-io · 未声明 license
- 流狐 Token 估算
- 低消耗
- 流狐接入估算
- 即装即用
- 是否需要外部 API Key
- 未发现要求
- 检测到的系统要求
- macOS
- 底层运行要求
- 未声明
- 检测到的文件与系统行为
-
- 只读
- 允许写入 / 修改
- 检测到的网络行为
- 允许外网请求
- 安装命令数
- 无(仅作为资料)
档案由构建时根据 SKILL.md 与安装命令自动衍生,可能与作者实际意图存在差异。
需要注意: 未限定 allowed-tools,默认拥有全部工具权限。
作者没有在当前 SKILL.md 中定义固定输出样例。 Quick Start
Quick Start
Core Workflows
Core Workflows
# Swift Development
## Prerequisites
- macOS with Xcode 15+ installed (Xcode 16+ for Swift 6)
- Xcode Command Line Tools: `xcode-select --install`
- Verify: `xcodebuild -version` and `swift --version`
## Quick Start
### New Swift Package
```bash
# Use the included script for full setup
./scripts/new_package.sh MyLibrary --type library --ios --macos
# Or manually
swift package init --type library --name MyLibrary
```
### Build and Test
```bash
# SPM packages
swift build
swift test
# Xcode projects
xcodebuild -workspace App.xcworkspace -scheme App \
-destination 'platform=iOS Simulator,name=iPhone 15' build
# Use included script for common options
./scripts/run_tests.sh --parallel --coverage
```
### Format and Lint
```bash
# Use included script
./scripts/format_and_lint.sh Sources/
# Check mode (CI)
./scripts/format_and_lint.sh --check
```
### Simulator Management
```bash
# Use included script
./scripts/simulator.sh list
./scripts/simulator.sh boot "iPhone 15"
./scripts/simulator.sh screenshot
./scripts/simulator.sh dark
```
---
## Core Workflows
### Building iOS Apps
```bash
# Debug build for simulator
xcodebuild -workspace App.xcworkspace -scheme App \
-destination 'platform=iOS Simulator,name=iPhone 15' \
build
# Release archive
xcodebuild archive \
-workspace App.xcworkspace -scheme App \
-archivePath ./build/App.xcarchive \
-configuration Release
# Export IPA (use templates from assets/ExportOptions/)
xcodebuild -exportArchive \
-archivePath ./build/App.xcarchive \
-exportPath ./build/export \
-exportOptionsPlist assets/ExportOptions/app-store.plist
```
### Testing
```bash
# All tests
xcodebuild test -workspace App.xcworkspace -scheme App \
-destination 'platform=iOS Simulator,name=iPhone 15'
… 证据边界与执行链路
作者原文负责流程事实;流狐只索引当前章节、要点、文件与命令。
章节 -> Prerequisites → Quick Start → New Swift Package → Build and Test → Format and Lint → Simulator Management
要点 -> Note · Swift Testing · Swift Evolution · Framework Details · Uncertainty · How to fetch · Example prompt for WebFetch
文件/命令 -> xcode-select --install · xcodebuild -version · swift --version · WebFetch · @Test · #expect · #require · https://github.com/apple/swift-testing
内容 SHA-256 -> 10ede21e7aba
方法与流程
适用与边界
原文中的明确线索
xcode-select --install、xcodebuild -version、swift --version、WebFetch、@Test、#expect、#require、https://github.com/apple/swift-testing