Swift软件包管理器 - 自定义框架

Swift软件包管理器 - 自定义框架

问题描述:

我是新来的Swift软件包管理器,请耐心等待。我已经四处搜寻,还没有找到我当前问题的答案。我正在创建一个自定义框架。当我创建一个CocoaTouch框架然后构建它时,我能够在项目目录中的“Products”文件夹中找到ProjectName.framework。然而,当我使用SPM添加依赖(Alamofire为例)并产生一个新的项目文件中的Swift软件包管理器 - 自定义框架

迅速包生成,xcodeproj

终端命令时,Alamofire.framework在“产品展示”显示,但ProjectName.framework不再可用。而是有一个ProjectName可执行文件。我不再能够找到框架,甚至不能将整个项目作为依赖包含在其他项目中。

enter image description here

在上图中,我希望看到KonvurjKit.framework在“产品”,但我再也看不到它。任何帮助将不胜感激。

由于您的项目包含main.swift,因此Swift Package Manager会生成可执行文件。您应该添加除main.swift之外的框架文件,然后运行swift package generate-xcodeproj。在生成的Xcode项目中将生成框架Products

如果要同时创建一个可执行文件和库(框架),可能Source布局是这样的:

Sources - KonvurjKitExecutable main.swift - KonvurjKit <your framework files here>

添加两个目标,以您的Package.swift targets: [ Target(name: "KonvurjKitExecutable", dependencies: [.Target(name: "KonvurjKit")]), Target(name: "KonvurjKit")]

如果您只想创建一个库(框架),只需删除main.swift并将您的框架文件直接添加到Sources

+0

谢谢!我不断收到关于布局的错误,但我最终意识到,如果我运行“swift package init”而不是“swift package init --type executable”,该项目将自行设置得很好。虽然你的答案帮助我达到了目标。 – Matt