0

我是 Swift 包管理器的新手,所以请多多包涵。我四处寻找,但没有找到我当前问题的答案。我正在创建一个自定义框架。当我创建一个 CocoaTouch 框架然后构建它时,我可以在项目目录的“产品”文件夹中找到 ProjectName.framework。但是,当我使用 SPM 添加依赖项(例如 Alamofire)并使用

swift包生成-xcodeproj

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

在此处输入图像描述

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

4

1 回答 1

0

由于您的项目包含main.swift,因此 Swift 包管理器会生成一个可执行文件。您应该添加您的框架文件,而不是main.swift然后运行swift package generate-xcodeproj​​. Products在生成的 Xcode 项目中将生成一个框架。

如果你想创建一个可执行文件和一个库(框架),一个可能的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.

于 2017-07-05T11:52:59.587 回答