1

我正在使用 Sparkle 框架进行应用程序更新,我想知道<sparkle:ReleaseNotesLink>标签中的 url 实际用于什么?

根据文档,“您可以为本地化目的提供额外的发行说明。” https://github.com/andymatuschak/Sparkle/wiki/publishing-an-update#localization

<sparkle:releaseNotesLink>http://you.com/app/2.0.html</sparkle:releaseNotesLink>
<sparkle:releaseNotesLink xml:lang="de">http://you.com/app/2.0_German.html</sparkle:releaseNotesLink>

我了解将语言代码添加到不同语言的标签中。我不明白的是如何使用或访问链接?RSS 提要中不显示“发行说明”页面的链接。那么,如果只使用一种语言,标签是否有目的?

我认为当有更新显示“此处完成更改日志”或类似内容时,它可能会添加一个链接到显示的描述,但事实并非如此。在网络浏览器中查看 xml 文件时,它也没有显示“链接”,所以我对标签的用途感到困惑。

4

1 回答 1

2

sparkle RSS 定义是标准 RSS 定义的扩展。sparkle 特定项仅由 Sparkle 框架使用,以便正确确定版本,或在提示用户进行新更新时显示发行说明。Web 浏览器(期待普通的 RSS 提要,没有 Sparkle 扩展)不会显示 Sparkle 框架在您的应用程序中调用时可以利用的所有魔法。

Sparkle 项目提供的示例测试 appcast在提要中定义了两个 sparkle 特定的项目字段:

  1. 包装一个 URL,其中包含要在弹出窗口中显示的版本说明,向用户提出新版本。

  2. sparkle:version、sparkle:shortVersionString 和 sparkle:dsaSignature 是“enclosure”标签的三个 Sparkle 特定属性,它们允许 Sparkle 框架提出最新版本,显示有意义的面向用户的版本,并确保用户的下载顺利、安全地完成了。如果签名值不正确,您的用户将收到一条消息,说明(IIRC)“文件出现损坏/损坏”。

通常,只需在另一台计算机(除了您通常的开发机器)上使用 Sparkle 执行更新即可轻松测试这些,因为在正常更新过程中将检查和/或显示版本和签名。这与您描述的输出检查相结合(在 Web 浏览器中)应该足以确保您的 appcast 格式正确。

对于 Sparkle 扩展的微妙之处,我能找到的最佳规范定义是在您在问题中指出的位置: https ://github.com/sparkle-project/Sparkle/wiki/publishing-an-update

于 2014-06-23T07:32:20.163 回答