Swift软件包管理器 - 自定义框架
我是新来的Swift软件包管理器,请耐心等待。我已经四处搜寻,还没有找到我当前问题的答案。我正在创建一个自定义框架。当我创建一个CocoaTouch框架然后构建它时,我能够在项目目录中的“Products”文件夹中找到ProjectName.framework。然而,当我使用SPM添加依赖(Alamofire为例)并产生一个新的项目文件中的Swift软件包管理器 - 自定义框架
迅速包生成,xcodeproj
终端命令时,Alamofire.framework在“产品展示”显示,但ProjectName.framework不再可用。而是有一个ProjectName可执行文件。我不再能够找到框架,甚至不能将整个项目作为依赖包含在其他项目中。
在上图中,我希望看到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
。
谢谢!我不断收到关于布局的错误,但我最终意识到,如果我运行“swift package init”而不是“swift package init --type executable”,该项目将自行设置得很好。虽然你的答案帮助我达到了目标。 – Matt