我正在构建我真正想用作框架的代码,因为我可以像使用Apple框架一样导入MyCustomFramework(将来我也想分发它们). 我有一些问题: 按照我的意愿构建框架最简单的方法是什么?这可以直接在
我有一些问题:
>按照我的意愿构建框架最简单的方法是什么?这可以直接在Xcode中完成,还是需要在终端中使用命令行工具?
>这个框架是否与多个平台兼容(我正在考虑所有Apple平台,但也考虑Swift支持的其他平台,如Linux).
> Swift框架和Swift Package Manager之间的链接到底是什么?我是否需要SPM来构建我的框架,还是这两种不同的工具?
谢谢.
目前,Swift Package Manager(SPM)和Xcode Frameworks遵循不同的路径.对于Linux,您必须遵循SPM路径,因为编译Linux swift应用程序的唯一方法是使用SPM.对于macOS命令行应用程序,您也可以遵循SPM路径.对于iOS应用和macOS UI应用,您必须遵循Xcode Frameworks路径.对于SPM路径,您可以使框架的项目启用SPM:添加Package.swift文件并根据SPM约定设置项目的文件布局.该项目还必须是一个git存储库.然后,可以将项目的git存储库指定为对其他启用SPM的框架/应用程序的依赖.通过使用swift package generate-xcodeproj命令,可以随时将每个启用SPM的项目转换为Xcode项目.
Xcode Frameworks路径是使用Xcode的框架的标准SPM前SPM方式,这在其他地方有所描述.您创建了一个定义框架的Xcode项目.
因此,如果您希望在Linux和macOS命令行应用程序的启用SPM的项目中以及在iOS和macOS UI应用程序的Xcode启用项目中使用您的框架,则必须遵循双重路径.您使项目启用了SPM并添加了一个Xcode项目,它将定义您的框架.您必须两次维护项目信息 – 在Package.swift文件和Xcode项目中.