由于 macOS 11.3 破坏了我过去 12 年来一直用来生成Sparkle应用程序广播的 Perl 脚本,因此我决定开始使用generate_appcast
Sparkle 提供的工具。在没有参数的情况下调用generate_appcast
,我得到一些简短的文档,我将其解释为我应该提供两个参数:
- a
-f
后跟我的 Sparkle 私钥文件的路径 - 我的应用程序的几个最新版本的目录的路径,全部压缩
所以我创建了一个新目录并将我的应用程序的三个最新版本的 zip 存档复制到其中。这些是经过 Apple 公证的 .zip 档案,我将其上传到我的网站供用户下载。
然后我运行了这个命令:
Air2:~ jk$ generate_appcast -f /path/to/My_Sparkle_priv.pem /path/to/directory/of/zips
结果:
Warning: Private key not found in the Keychain (-25300). Please run the generate_keys tool
Error generating appcast from directory /path/to/My_Sparkle_priv.pem
Error Domain=NSCocoaErrorDomain Code=256 "The file “My_Sparkle_priv.pem” couldn’t be opened." UserInfo={NSUserStringVariant=(
Folder
), NSURL=file:///path/to/My_Sparkle_priv.pem/, NSFilePath=/path/to/My_Sparkle_priv.pem, NSUnderlyingError=0x13a637e10 {Error Domain=NSPOSIXErrorDomain Code=20 "Not a directory"}}
显然它没有识别我提供的密钥文件,并且奇怪地暗示它需要一个目录而不是常规文件。在简短的文档中,有一个标记为 [DEPRECATED] 的示例省略了-f
密钥文件的路径之前,所以我尝试了,但得到了相同的结果。我还尝试将通往拉链的路径放在首位,但结果更糟。
我认为我的密钥文件是一个非常标准的 .pem 文本文件,它以-----BEGIN DSA PRIVATE KEY-----行开头,后跟 1133 个 ASCII 字符等。
我在哪里错过了船?