generate_appcast不适用于.dmg文件:
从目录/User/quanta/ Domain=SUSparkleErrorDomain / Code=1001生成应用程序时出错--Code=1001“在/User/quanta/下载/更新中找不到可用的档案”UserInfo={NSLocalizedDescription=No可用档案出现在/User/NSLocalizedDescription=No/Download/updates}
因此,我必须手动创建appcast.xml:
<?xml version="1.0" standalone="yes"?>
<rss xmlns:sparkle="http://www.andymatuschak.org/xml-namespaces/sparkle" version="2.0">
<channel>
<title>x</title>
<item>
<title>1.0.0.2891</title>
<pubDate>Thu, 06 Dec 2018 17:25:26 +0800</pubDate>
<sparkle:minimumSystemVersion>10.7</sparkle:minimumSystemVersion>
<enclosure url="https://example.com/x.dmg" sparkle:version="1.0.0.2891" sparkle:shortVersionString="1.0.0.2891" length="86454539" type="application/octet-stream"/>
</item>
</channel>
</rss>在测试时得到此错误:
包的DSA签名验证失败。更新包含一个安装程序包,所有安装程序包都必须有有效的DSA签名。更新将被拒绝。使用有效的DSA密钥对安装程序进行签名,或者使用.app包更新。
第一次运行sign_update时,我选择“始终允许”,因此它下次不会询问密码:
$./bin/sign_update /path/to/x.dmg
sparkle:edSignature="x==" length="105562628"但是,在通过ssh运行时仍然会出现这个错误:
$ ~/Downloads/Sparkle-1.21.0/bin/sign_update /path/to/x.dmg
ERROR! Unable to access required key in the Keychain -25308 (you can look it up at osstatus.com)我知道我们可以使用openssl来做同样的事情:update
但是如何从我的密钥链导出dsa_priv.pem呢?
发布于 2018-12-11 05:06:37
原因是login.keychain在通过ssh运行时被锁定。
在运行sign_update之前,我们必须解锁它。将以下命令放入脚本中:
#!/bin/sh
security unlock-keychain -p "$pa55w0rd" $HOME/Library/Keychains/login.keychainhttps://stackoverflow.com/questions/53703363
复制相似问题