本文為 Eul 樣章,如果您喜歡,請移步 AppStore/Eul 查看更多內容,
Eul 是一款 SwiftUI & Combine 教程 App(iOS、macOS),以文章(文字、圖片、代碼)配合真機示例(Xcode 12+、iOS 14+,macOS 11+)的形式呈現給讀者,筆者意在盡可能使用簡潔明了的語言闡述 SwiftUI & Combine 相關的知識,使讀者能快速掌握并在 iOS 開發中實踐,
概覽
Swift Package Manager(SPM)是 Xcode 內置的包管理工具,支持遠程公/私有庫和本地庫,
創建 Package Manager
創建方法
兩種方法:
- 在 Xcode 選單欄依次選中 File > New > Package Manager
- 在目標檔案夾中使用命令:
Swift package init
創建完成后,在 Sources 檔案下添加代碼,然后按 cmd + B 編譯,如果發現編譯器報錯,是因為測驗代碼有誤,如果我們不需要撰寫測驗代碼,注釋即可,
目錄結構
如下是一個 Package 的目錄結構:
.
├── Package.swift // 組態檔
├── README.md // 包的功能、使用說明
├── Sources // 原始碼目錄
│ └── Biu
│ └── Print.swift
└── Tests // 測驗檔案目錄
├── BiuTests
│ ├── BiuTests.swift
│ └── XCTestManifests.swift
└── LinuxMain.swift
Package.swift 包含如下內容:
// swift-tools-version:5.3
// The swift-tools-version declares the minimum version of Swift required to build this package.
import PackageDescription
let package = Package(
// 包名
name: "Biu",
// 包對外提供的 products(庫、可執行檔案)
products: [
.library(
name: "Biu",
targets: ["Biu"]),
],
// 依賴的其它包
dependencies: [
// .package(url: /* package url */, from: "1.0.0"),
],
// 包含的 targets
targets: [
// 每個 target 所需依賴
.target(
name: "Biu",
dependencies: []),
.testTarget(
name: "BiuTests",
dependencies: ["Biu"]),
]
)
本地添加和測驗 Package
- 新建一個 Biu_test 工程,直接將 Biu 目錄拖入工程
- General -> Frameworks, Libraries, and Embedded Content 下添加 Package
- 匯入 Package(
import Biu)即可
注:如遇到無法匯入或找不到 Package 的問題,可嘗試退出工程或重啟 Xcode 解決 ???♂?
發布與更新 Package
可以使用 Git 命令,也可以使用 Xcode 內置的版本控制工具,
初次發布時,初始化 Package 為 Git 倉庫,打上 Tag,再推送至遠程倉庫,
更新 Package 后,打上新的 Tag,Push 即可,
使用 Package
添加
我們先移除上文中的工程 Biu_test 引入的本地 Package(Biu),然后在 Xcode 中選擇 File > Swift Packages > Add Package Dependency...,輸入 Package 地址(https://github.com/keisme/Biu),點擊 Next 安裝,
安裝完成后,重新運行專案,結果與預期一致,
更新
如果需要更新 Package,選擇 File > Swfit Packages > Update to Latest Package Versionse,
移除
在工程中找到 Swift Package Manager,移除相應的 Package,
本文為 Eul 樣章,如果您喜歡,請移步 AppStore/Eul 查看更多內容,
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/286137.html
標籤:iOS
