Sparkle自动更新的代码签名问题

时间:2015-08-18 15:07:39

标签: cocoa sparkle

我第一次使用Sparkle,并且遇到了麻烦。当我检查更新时,它会正确检测到更新版本,下载它,取消归档,然后给出以下错误:

  

更新错误!   提取存档时发生错误。请稍后再试。

输出日志显示以下详细信息:

Sparkle: The appcast item for the update has no DSA signature.
The update will be rejected, because both DSA and Apple Code
Signing verification failed.

我的存档名为" MyApp.pkg.zip",仅包含" MyApp.pkg"。它有一个苹果ID数字签名。我通过手动下载zip,解压缩,运行PKG,然后单击第一个安装页面上的锁定图标来验证这一点。

hi

PKG是使用Packages创建的。

我的appcast有以下内容:

    <enclosure url="http://thedomain/MyApp.pkg.zip" sparkle:version="1.0.0.990" length="5752133" type="application/octet-stream" />

我的.app也具有与.pkg相同的Apple ID签名,但我认为在自动更新过程的这一点上它并不重要。

所以我的问题是:我做错了什么?当PKG清楚地进行数字签名时,Sparkle如何断定数字签名是不够的?

1 个答案:

答案 0 :(得分:0)

您是否有签署.app和.pkg的不同证书?当您在Apple的证书网站上创建证书时,您必须选择一种或另一种类型。

您需要拥有两个证书,一个用于签署.app,另一个用于签署.pkg。