你应该如何创建一个使用快速参数解析器的命令行工具?

问题描述 投票:0回答:1

我尝试了两种不同的方法,每种方法都以不同的方式失败:

方法#1:

  • 为项目创建文件夹。

在终端:

  • cd 到文件夹
  • swift package init --typeexecutable
  • 固定Package.swift

xed 命令打开 Package.swift 文件,就好像它是 Xcode 项目一样。

然后我尝试使用 Xcode 的 File>add package dependency 将 swift-agrument-parser 添加到项目中。

问题:“复制依赖项”按钮不起作用。

方法#2:

  • 在 Xcode 中,选择“文件”>“新项目”、Mac OS 命令行工具。
  • 选择“文件”>“添加包依赖项”。

问题:

找不到 ArugmentParser 库未加载:@rpath/ArgumentParser.framework/Versions/A/ArgumentParser

我尝试将 main.swift 替换为名为 .swift 的文件,该文件包含

@main
目录和 ParsableCommand 结构。我尝试过清理构建文件夹。


我能够让它工作的唯一方法是使用方法#1、swift package init 创建包,然后编辑 package.swift 文件并手动添加 swift-argument-parser 依赖项。我不太使用 SPM,因此我必须摸索很长时间才能找出正确的语法并使其正常工作。这通常会导致几次错误的启动和错误,以及很多挫败感。

难道不应该有一组简单的“执行 A、B 和 C”的步骤来使这项工作无需清理一堆错误或手动编写 SPM Package.swift 文件吗?

IDE 不应该让我创建一个命令行工具,添加 swift-argument-parser 包,并第一次构建我的工具而不会出现错误吗?

swift xcode xcode-command-line-tools swift-argumentparser
1个回答
0
投票

方法#2 的解决方案:

Swift Argument Parser 的默认实现添加了一个可执行文件

generate-manual

在目标>常规中删除它

© www.soinside.com 2019 - 2024. All rights reserved.