目前,Swift 包管理器 (SPM) 和 Xcode 框架遵循不同的路径。对于 Linux,您必须遵循SPM 路径,因为编译 Linux swift 应用程序的唯一方法是使用 SPM。对于 macOS 命令行应用程序,您也可以遵循 SPM 路径。对于 iOS 应用程序和 macOS UI 应用程序,您必须遵循Xcode 框架路径。
对于 SPM 路径,您使框架的项目启用 SPM:添加Package.swift
文件并根据 SPM 约定设置项目的文件布局。该项目还必须是一个 git 存储库。然后可以将项目的 git 存储库指定为对其他启用 SPM 的框架/应用程序的依赖项。每个启用 SPM 的项目都可以随时使用swift package generate-xcodeproj
命令转换为 Xcode 项目。
Xcode Frameworks 路径是使用 Xcode 处理框架的标准的 pre-SPM 方式,这在别处进行了描述。您创建一个 Xcode 项目来定义您的框架。
因此,如果您希望您的框架既可以用于支持 SPM 的 Linux 和 macOS 命令行应用程序项目,也可以用于支持 Xcode 的 iOS 和 macOS UI 应用程序项目,您必须遵循双重路径。您使您的项目启用 SPM 并添加一个 Xcode 项目,该项目将定义您的框架。您将不得不两次维护您的项目信息——在Package.swift
文件中和在 Xcode 项目中。