什么是<sparkle:releasenoteslink>实际上是为了什么?</sparkle:releasenoteslink>

时间:2014-03-31 04:44:39

标签: xml rss sparkle

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

根据文档,&#34;您可以提供其他发行说明以用于本地化目的。&#34; 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>

我理解为不同语言的标记添加语言代码。我不明白的是如何利用或访问链接?指向&#34;发行说明&#34;的链接页面不会显示在RSS Feed中。那么,如果只使用一种语言,标签是否有目的?

我认为它可能会添加一个指向所显示描述的链接,当时有一个更新表示&#34;完成更改日志在这里&#34;或类似的东西,但事实并非如此。它也没有显示&#34;链接&#34;在Web浏览器中查看xml文件时,我对标签的目的感到困惑。

1 个答案:

答案 0 :(得分:0)

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

Sparkle项目提供的sample test appcast在Feed中定义了两个特定于闪光的项目字段:

  1. 包含一个包含发行说明的URL,该发布说明将显示在弹出窗口中,向用户提出新版本。

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

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

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