Mac怎么用Swift Package Manager_Mac如何用SPM管理Swift项目的包依赖【方法】

梦涛君_7403

梦涛君_7403

2026-03-19

798人浏览

原创

若macos上swift项目无法引入或更新外部库,需检查spm配置:一、初始化包项目;二、为现有项目添加package.swift;三、在文件中声明依赖并运行swift package resolve;四、用xcode界面添加包;五、objective-c项目需桥接swift包。

mac怎么用swift package manager_mac如何用spm管理swift项目的包依赖【方法】

如果您在 macOS 上开发 Swift 项目,但无法正确引入或更新外部库,则可能是由于 Swift Package Manager(SPM)配置缺失或操作流程不完整。以下是解决此问题的步骤:

一、初始化 Swift 包项目

该方法适用于从零开始创建支持 SPM 的库或可执行项目,通过命令行生成标准结构和 Package.swift 清单文件,为后续依赖管理奠定基础。

1、打开终端,进入目标目录,例如:mkdir MyNetworkLib && cd MyNetworkLib

2、执行初始化命令创建库包:swift package init --type library

3、执行初始化命令创建可执行程序包:swift package init --type executable

4、确认当前目录下已生成 Package.swift、Sources/ 和 Tests/ 等标准结构。

二、在现有项目中添加 Package.swift 文件

该方法适用于已有纯 Swift 代码但尚未启用 SPM 的项目,手动创建清单文件以声明平台支持、产品定义及依赖关系,使项目具备被其他包引用或集成的能力。

1、在项目根目录新建文本文件,命名为 Package.swift

2、写入符合语义化版本规范的最小有效配置,例如:

import PackageDescription

let package = Package(

  name: "MyApp",

  platforms: [.macOS(.v13), .iOS(.v16)],

  products: [.library(name: "MyApp", targets: ["MyApp"])],

  dependencies: [],

  targets: [.target(name: "MyApp", dependencies: [])]

)

3、保存文件,确保首行包含有效的工具链版本声明,如 // swift-tools-version:5.9

超级简历
超级简历

超级简历是一款AI求职招聘工具,3分钟生成简历超千万人使用。

下载

三、向 Package.swift 中声明外部依赖

该方法用于显式指定项目所需第三方库的来源与版本约束,SPM 将据此自动下载、解析并构建兼容版本,避免手动管理源码带来的版本混乱。

1、打开项目根目录下的 Package.swift 文件

2、在 dependencies: 数组中添加依赖项,例如:

.package(url: "https://github.com/Alamofire/Alamofire.git", from: "5.8.0")

3、在对应 .target 的 dependencies: 列表中加入该库名称,例如:["Alamofire"]

4、保存文件后,在终端运行:swift package resolve 强制刷新依赖图谱

四、使用 Xcode 图形界面添加 Swift 包依赖

该方法适用于 iOS/macOS 应用工程(Xcode 项目),无需编辑 Package.swift,直接通过项目设置导入远程或本地 Swift 包,适合不熟悉命令行的开发者快速集成。

1、在 Xcode 中打开您的项目或工作区

2、点击顶部菜单栏 File → Add Packages…

3、在弹出窗口中粘贴包的 Git URL,例如:https://github.com/SwiftyJSON/SwiftyJSON.git

4、选择版本规则:点击 Version 下拉框,可选 Up to Next Major、Up to Next Minor 或 Exact

5、点击 Add Package,Xcode 自动下载并将其列在项目导航器的 Swift Packages 分组下

五、在 Objective-C 项目中桥接使用 Swift 包

该方法用于混合代码项目,通过桥接机制让 Objective-C 主体调用由 SPM 管理的 Swift 库功能,需同时配置桥接头文件与模块可见性。

1、在 Objective-C 项目中添加一个 Swift 文件(如 Helper.swift),Xcode 会提示创建桥接头文件

2、确认项目设置中 Objective-C Bridging Header 已指向正确路径,例如:MyApp/MyApp-Bridging-Header.h

3、在桥接头文件中导入自动生成的 Swift 模块头,例如:#import "MyApp-Swift.h"

4、在 Swift 文件中声明 @objc 类或方法,并确保其在 Objective-C 中可见

5、在 Objective-C 源文件中直接调用该 Swift 类,例如:[[NetworkManager shared] fetchDataFrom:@"https://api.example.com" completion:...];

相关专题

更多
Swift iOS架构设计与MVVM模式实战
Swift iOS架构设计与MVVM模式实战

本专题聚焦 Swift 在 iOS 应用架构设计中的实践,系统讲解 MVVM 模式的核心思想、数据绑定机制、模块拆分策略以及组件化开发方法。内容涵盖网络层封装、状态管理、依赖注入与性能优化技巧。通过完整项目案例,帮助开发者构建结构清晰、可维护性强的 iOS 应用架构体系。

2026.03.03

817

16

Swift编程与iOS/macOS应用开发教程合集
Swift编程与iOS/macOS应用开发教程合集

面向苹果生态开发者,系统讲解 Swift 语言核心与 iOS/macOS 应用开发,涵盖 Swift 语法基础、Xcode 开发环境搭建与项目管理、SwiftUI 声明式 UI 开发、UIKit 与 SwiftUI 混合开发策略、Combine 响应式编程框架、数据持久化(SwiftData/Core Data/UserDefaults)、网络请求与 JSON 解析、App 签名/打包/TestFlight 测试与 App Store

2026.06.03

1262

14

github中文官网入口 github中文版官网网页进入
github中文官网入口 github中文版官网网页进入

github中文官网入口https://docs.github.com/zh/get-started,GitHub 是一种基于云的平台,可在其中存储、共享并与他人一起编写代码。 通过将代码存储在GitHub 上的“存储库”中,你可以: “展示或共享”你的工作。 持续“跟踪和管理”对代码的更改。

2026.01.21

8545

27

GitHub官网入口版本汇总
GitHub官网入口版本汇总

本专题整合了GitHub入口版本地址汇总,阅读专题下面的文章了解更多详细内容。

2026.04.02

878

19

自建git服务器
自建git服务器

git服务器是目前流行的分布式版本控制系统之一,可以让多人协同开发同一个项目。本专题为大家提供自建git服务器相关的各种文章、以及下载和课程。

2023.07.05

6359

9

git和svn的区别
git和svn的区别

git和svn的区别:1、定义不同;2、模型类型不同;3、存储单元不同;4、是否拥有全局版本号;5、内容完整性不同;6、版本库不同;7、克隆目录速度不同;8、分支不同。php中文网为大家带来了git和svn的相关知识、以及相关文章等内容。

2023.07.06

1840

6

git撤销提交的commit
git撤销提交的commit

Git是一个强大的版本控制系统,它提供了很多功能帮助开发人员有效地管理和控制代码的变更,本专题为大家提供git 撤销提交的commit相关的各种文章内容,供大家免费下载体验。

2023.07.24

1074

5

git提交错误怎么撤回
git提交错误怎么撤回

git提交错误撤回的方法:git reset head^:撤回最后一次提交,恢复到提交前状态。git revert head:创建新提交,内容与之前提交相反。git reset :使用提交的 sha-1 哈希撤回指定提交。交互式舞台区:标记要撤回的特定更改,然后提交,排除已撤回更改。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

4137

7

git怎么对比两个版本的文件内容
git怎么对比两个版本的文件内容

要对比两个版本的 git 文件,请使用 git diff 命令:git diff 比较工作树和暂存区之间的差异。git diff 比较两个提交或标签之间的差异。git diff 输出显示差异块,其中 + 表示添加的行,- 表示删除的行, 表示修改的行。可使用 gitkraken、meld、beyond compare 等可视化工具更直观地查看差异。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

2024.04.09

3901

6

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
安装 Xdebug 并配置 phpstorm
安装 Xdebug 并配置 phpstorm

共1课时 | 186人学习

PostgreSQL 教程
PostgreSQL 教程

共48课时 | 20.6万人学习

好课诞生记
好课诞生记

共20课时 | 7.2万人学习