我是Swift Package Manager的新手,所以请耐心等待。我一直在四处寻找,但我找不到当前问题的答案。我正在创建一个自定义框架。当我创建一个CocoaTouch框架然后构建它时,我能够在我的" Products"中找到ProjectName.framework。项目目录中的文件夹。但是,当我使用SPM添加依赖项(例如Alamofire)并使用
生成新项目文件时swift包generate-xcodeproj
终端命令,Alamofire.framework出现在"产品"但ProjectName.framework不再可用。而是有一个ProjectName可执行文件。我不再能够找到框架,甚至不能将整个项目作为依赖项包含在另一个项目中。
在上图中,我希望在"产品"中看到KonvurjKit.framework。但我不再看到它了。任何帮助将不胜感激。
答案 0 :(得分:0)
由于您的项目包含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
。