2

问题是在上传请求后获取公证状态时

就像这样,我有一个较旧的内核扩展,需要最新的 mac 更新公证它,我正在尝试以自动方式(命令行)完成此操作。

我想做的第一件事是看看我是否可以上传任何东西并恢复任何状态。

因此,在 xcode 中构建了 kext 之后,我使用同上来创建需要发送到苹果的存档:

cd <builddir> && ditto -c -k --keepParent "MyApp.kext" "MyApp.kext.zip"

完成后,我将其上传:

xcrun altool --notarize-app --primary-bundle-ip "com.myapp.." --username "user@example.com" --password "mypassword" -asc-provider "MyProvider" --file MyApp.kext.zip

这将返回我需要的请求 ID

所以上述步骤有效,下一步是给我带来问题,获取请求的状态,尝试将特定请求都获取为全部

xcrun altool --notarization-info <id> -u "user@example.com" -p "mypassword" -asc-provider "MyProvider"

或者

xcrun altool --notarization-history 0 -u "user@example.com" -p "mypassword" -asc-provider "MyProvider"

这两个命令都给了我:

*** Error: Connection failed! Error Message - unsupported URL
*** Error: Apple Services operation failed. unsupported URL

在谷歌上,我没有任何运气找到“不支持的 URL”的任何错误

有人对这个有经验么?

4

1 回答 1

3

我以前见过这个错误,我忘记了到底是什么原因造成的,但肯定是我提交命令的方式有误。不幸的是,altool它似乎没有考虑到用户友好性,并且在命令行验证方面似乎没有做太多。

考虑到这一点,仔细查看您的命令行,我注意到:

  • 应该是--asc-provider,不是-asc-provider。两个连字符,不是一个。
  • --notarization-info子命令实际上不需要该--asc-provider选项,因为 UUID 对于识别您所追求的公证交易是明确的。

在网络搜索此错误消息后找到此答案的任何人的提示:

  • xcrun altool --help与您的实际命令进行比较。检查连字符的数量,并确保您正在运行的命令需要或支持您传递的参数。
  • 检查所有字符串(用户名、提供程序、捆绑包 ID、密码(我强烈建议使用钥匙串提供程序而不是在命令行上提供文字密码!)等)正确转义并用引号括起来以进行良好测量。
于 2019-08-09T10:05:11.927 回答