SwiftUI 简明教程之 Swift Package Manager 的使用
Posted Bruce2077
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SwiftUI 简明教程之 Swift Package Manager 的使用相关的知识,希望对你有一定的参考价值。
本文为 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 解决
以上是关于SwiftUI 简明教程之 Swift Package Manager 的使用的主要内容,如果未能解决你的问题,请参考以下文章
自学IOS开发第3天·基础SwiftUI之动态滑动列表(上)
自学IOS开发第3天·基础SwiftUI之动态滑动列表(上)
自学IOS开发第3天·基础SwiftUI之动态滑动列表(上)