📦
[Package]Swift Package Managerでライブラリを作成する
Swift Package Managerとは
"Swift Package Managerは、Swiftコードの配布を管理するためのツールです。Swiftのビルドシステムと統合されており、依存関係のダウンロード、コンパイル、リンクのプロセスを自動化できます。"swift.orgより
使用編はこちらの記事で紹介しています
1. パッケージを作成する
2. 対応端末の定義
パッケージ名/Sources/Packageにパッケージの対応端末を定義します。
iOS16以上に対応させたい場合は.iOS(.v16)
と記載します。
Package.swift
import PackageDescription
let package = Package(
name: "MyLibrary",
+ platforms: [
+ .iOS(.v16),
+ .macOS(.v13),
+ .tvOS(.v16),
+ .watchOS(.v9),
+ ],
products: [
// Products define the executables and libraries a package produces, and make them visible to other packages.
.library(
name: "MyLibrary",
targets: ["MyLibrary"]),
],
dependencies: [
// Dependencies declare other packages that this package depends on.
// .package(url: /* package url */, from: "1.0.0"),
],
targets: [
// Targets are the basic building blocks of a package. A target can define a module or a test suite.
// Targets can depend on other targets in this package, and on products in packages this package depends on.
.target(
name: "MyLibrary",
dependencies: []),
.testTarget(
name: "MyLibraryTests",
dependencies: ["MyLibrary"]),
]
)
3. コードを書く
MyLibrary/Sources/MyLibraryの中にコードを書いていきます。
パッケージ外からアクセスしたい場合はアクセス修飾子をpublicにする必要があります。
SwiftUIView
import SwiftUI
public struct SwiftUIView: View {
public init() {}
public var body: some View {
Text("Hello, World!")
}
}
struct SwiftUIView_Previews: PreviewProvider {
static var previews: some View {
SwiftUIView()
}
}
GitHubで配布する
セマンティック バージョニング に沿って決めると親切かもしれません
Discussion