Swift 包管理器 - 自定义框架

Swift Package Manager - Custom Framework

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

生成一个新的项目文件时

swift 包生成-xcodeproj

终端命令,Alamofire.framework 出现在 "Products" 但 ProjectName.framework 不再可用。相反,有一个 ProjectName 可执行文件。我不再能够找到框架,甚至无法将整个项目作为依赖项包含在另一个项目中。

在上图中,我希望在 "Products" 中看到 KonvurjKit.framework,但我再也看不到了。任何帮助将不胜感激。

由于您的项目包含 main.swift,Swift 包管理器生成可执行文件。您应该添加您的框架文件,而不是 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