Swift Package指南

常用 SPM 命令

命令说明
swift package init初始化新包
swift build构建包
swift test运行测试
swift run构建并运行可执行文件
swift package resolve解析依赖
swift package update更新依赖
swift package show-dependencies显示依赖树

Package.swift 示例

// swift-tools-version: 5.9 import PackageDescription let package = Package( name: "MyLibrary", platforms: [.macOS(.v13), .iOS(.v16)], products: [ .library(name: "MyLibrary", targets: ["MyLibrary"]), .executable(name: "MyApp", targets: ["MyApp"]), ], dependencies: [ .package(url: "https://github.com/apple/swift-argument-parser", from: "1.3.0"), .package(url: "https://github.com/vapor/vapor", .upToNextMajor(from: "4.89.0")), ], targets: [ .target( name: "MyLibrary", dependencies: []), .executableTarget( name: "MyApp", dependencies: [ "MyLibrary", .product(name: "ArgumentParser", package: "swift-argument-parser"), ]), .testTarget( name: "MyLibraryTests", dependencies: ["MyLibrary"]), ] )

包结构

MyPackage/ ├── Package.swift ├── Sources/ │ ├── MyLibrary/ │ │ └── MyLibrary.swift │ └── MyApp/ │ └── main.swift └── Tests/ └── MyLibraryTests/ └── MyLibraryTests.swift