Swift Package Manager
Swift Package 是苹果官方推出的新一代软件依赖管理工具。过去,Capacitor 一直使用 CocoaPods 来管理内部依赖和插件依赖,但现在正是转向官方支持解决方案的时机。
自 Capacitor 6 起,您可以在 CocoaPods 和 Swift Package Manager (SPM) 之间进行选择。几乎所有当前由官方团队支持的插件都支持 SPM,特别是 capacitor-plugins 仓库中的插件。
我们已尽力确保您在使用 SPM 时无需对 Capacitor 的工作方式做太多改动,但仍有一些要点需要理解。
工作原理
当 Capacitor 项目使用 SPM 时,我们会使用一个“基础 SPM”包,它作为引用您项目所有依赖项的中心:

当您同步新插件时,Capacitor CLI 会修改 CapApp-SPM 包。请务必不要手动修改此目录的内容,因为 CLI 可能会且将会更改其中的内容。
在新 Capacitor 项目中使用 SPM
首先,我们照常运行 npm init @capacitor/app@latest:

现在,我们需要向项目添加 iOS 平台:
npm install @capacitor/ios
接着构建 Web 项目:
npm run build
完成后,我们可以添加 iOS 项目。我们需要在常规的 add 命令中添加 --packagemanager SPM 选项:
npx cap add ios --packagemanager SPM
现在您可以使用 npx cap open ios 打开 iOS 项目,并从那里运行您的应用程序。
添加并使用支持 SPM 的 Capacitor 插件
现在,让我们为这个项目添加一个插件并尝试使用它。
首先安装 Capacitor App 插件:
npm install @capacitor/app
然后同步 Web 应用。这会将 App 插件的 SPM 添加到 iOS 项目中:
npx cap sync
现在您可以正常使用 App 插件了。