我希望appcast pubDate xml元素允许我指定我的应用程序不能考虑更新,除非当前日期是发布日期(pubDate)或更晚。
这是一个示例appcast,其中包含item元素中的pubDate元素:
<item>
<title>Version 2.0 (2 bugs fixed; 3 new features)</title>
<sparkle:releaseNotesLink>http://you.com/app/2.0.html</sparkle:releaseNotesLink>
<pubDate>Wed, 09 Jan 2006 19:20:11 +0000</pubDate>
<enclosure url="http://you.com/app/Your Great App 2.0.zip" sparkle:version="2.0" length="1623481" type="application/octet-stream" sparkle:dsaSignature="BAFJW4B6B1K1JyW30nbkBwainOzrN6EQuAh" />
</item>
是从Sparkle网站复制的:https://github.com/sparkle-project/Sparkle/blob/0ed83cf9f2eeb425d4fdd141c01a29d843970c20/Sample%20Appcast.xml
所以序列是这样的:
这是pubDate Sparkle元素的用途吗?
除了版本号之外,Sparkle是否使用pubDate来帮助确定是否应该进行更新?
将应用程序从更新中恢复到某个日期是我想要的,但我发现pubDate似乎并没有为我做到这一点。
我无法在Sparkle文档中找到pubDate的用途:https://github.com/sparkle-project/Sparkle/wiki
答案 0 :(得分:1)
如你所知,Sparkle使用RSS列出机箱标签内的应用程序更新(这就是他们所谓的“appcasting” - 请参阅:http://connectedflow.com/appcasting/)
pubDate元素并不特定于Sparkle - 它只是RSS规范的一部分(参见http://www.w3schools.com/rss/rss_tag_pubdate.asp),并且可能/应该被通用rss读者用于按时间顺序显示项目/条目。
就我自己而言,Sparkle本身只对pubDate做了一件事 - 它正在订购更新候选者(https://github.com/sparkle-project/Sparkle/blob/master/SUAppcast.m#L218)
现在,你可以进一步自定义Sparkle通过子类化SUUpdater选择符合条件的更新的方式:请参阅https://github.com/sparkle-project/Sparkle/wiki/bundles#wiki-subclassing-suupdater,尤其是bestValidUpdateInAppcast
方法:https://github.com/sparkle-project/Sparkle/wiki/customization
在那里,您应该能够进一步处理项目并实现您的行为。