我目前正在构建我真的很想用作框架的代码,就像我使用Apple框架一样,可以import MyCustomFramework
(将来我也希望分发它们)。
我对此有一些疑问:
谢谢。
最佳答案
当前,Swift软件包管理器(SPM)和Xcode框架遵循不同的路径。对于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之前的方法,在其他地方对此进行了介绍。您创建一个Xcode项目,它将定义您的框架。
因此,如果您希望框架同时用于Linux和macOS命令行应用程序的启用SPM的项目以及iOS和macOS UI应用程序的启用Xcode的项目中,则必须遵循双重路径。您使您的项目启用SPM,并添加一个Xcode项目,该项目将定义您的框架。您将必须在Package.swift
文件和Xcode Project中维护项目信息两次。