【问题标题】:How can I get checksum for a Binary Package?如何获得二进制包的校验和?
【发布时间】:2021-10-02 09:17:20
【问题描述】:

我在名为 MyXCFramework.xcframework 的桌面上创建了我的 xcframework,然后像 Boris 在 WWDC2020 中所说的关于 Distribute binary frameworks as Swift packages 两个文件的内容进行压缩在桌面上,我想得到我的校验和,然后我在终端中使用了这行代码:

cd ~/Desktop/

swift package compute-checksum ~/Desktop/MyXCFramework.xcframework.zip

但是终端通过这个错误:

error: root manifest not found

我该如何解决这个错误?

我不知道为什么终端试图达到这一点?因为还没有清单!我需要校验和来构建我的清单,以将二进制框架分发为 Swift 包。那么我该如何解决这个问题呢?

【问题讨论】:

  • 如果您已经在当前文件夹(桌面)中,为什么在计算校验和时使用~/Desktop/?我记得我有类似的问题,当从同一个文件夹运行时它解决了。
  • @Leo:如果你打开你的终端,你就不会进入桌面级别!因此我搬到了桌面级别。你还提到了同一个文件夹!你那是什么意思?正如你看到的 WWDC 视频,Boris 没有解释或展示他是如何做到的,只是提出了有问题的终端命令!我检查了其他类似的问题,比如我!几乎每个人都有创建校验和的问题。如果有助于找到答案,我可以将我的测试框架和我的 xcframework 发送或分享给你。我的 xcframework 工作得很好,但我无法生成校验和!

标签: swift swift-package-manager xcframework


【解决方案1】:

在搜索了很多很多尝试和错误后,我找到了 2 种方法来解决问题:

First way from Apple

要创建所需的校验和,请打开终端应用程序,导航到 包的根目录,然后运行 ​​swift package compute-checksum path/to/MyFramework.zip。

方式一:

1 - 值得一提的是,Apple 说的是 MyFramework.zip,但实际上它是 MyXCFramework.zip

2 - 苹果说:导航到包的根目录这意味着你要输入的包并给它校验和!为什么要读取校验和所需的文件夹或包?因为校验和是Package的参数!我不知道引擎盖下发生了什么,但这就是它的工作原理!

方式 2:

你可以给Package一些虚拟值作为校验和,然后Xcode会通过一个错误告诉你正确和需要的校验和,还会告诉你你使用了哪个错误的校验和!然后你复制那个错误消息并敲击正确的校验和并替换它而不是虚拟校验和。我们还没做呢!因为 Xcode 不会为新的和正确的校验和构建或纠正包,所以它会处于锁定状态!您需要在 Xcode 中转到 File,然后转到 Swift Package,然后点击 Reset Package Cashes。之后你就可以走了!通过这种方式,您可以使用终端方式来读取校验和。

这里有两种查找校验和的方法!

【讨论】:

    猜你喜欢
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-07-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多