1

appcast pubDate xml 要素を使用して、現在の日付が公開日 (pubDate) 以降でない限り、アプリを更新対象として考慮できないことを指定できるようになることを期待していました。

item 要素内に pubDate 要素を含むサンプル appcast を次に示します。

<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

したがって、シーケンスは次のとおりです。

  1. 更新したアプリ (myapp v1.1) を月曜日に更新 Web サーバーにコピーします。
  2. 私の更新サーバーでは、pubDate も水曜日に設定しました (適切な RFC 822 形式で)
  3. 火曜日に、誰かが myapp v1.0 を実行し、myapp v1.0 内にバンドルされている sparkle appcast を使用して、利用可能なものに myapp を更新しようとします。
  4. その時点で、sparkle はバージョンを比較し、更新が必要であることを確認しますが、まだ火曜日なので、sparkle は水曜日 (またはそれ以降) に再試行するまで更新するオプションを提供しません。
  5. 水曜日が来て、ユーザーが myapp v1.0 を再度更新しようとすると、バージョンが更新可能で日付が水曜日であるため、今回は機能します。

それが pubDate Sparkle 要素の目的ですか?

Sparkle は pubDate を使用して、バージョン番号に加えて更新を行うべきかどうかを判断しますか?

ある日までアプリの更新を保留したいのですが、pubDate ではそれができないようです。

Sparkle ドキュメントで pubDate の目的への参照が見つかりませんでした: https://github.com/sparkle-project/Sparkle/wiki

4

1 に答える 1

1

ご存じのように、Sparkle は RSS を使用して、エンクロージャ タグ内のアプリケーションの更新を一覧表示します (これは彼らが「appcasting」と呼んでいるものです - http://connectedflow.com/appcasting/を参照してください) 。

pubDate 要素は Sparkle に固有のものではありません。これは RSS 仕様の一部に過ぎず ( http://www.w3schools.com/rss/rss_tag_pubdate.aspを参照)、一般的な rss リーダーでアイテムを表示するために使用することができます/使用する必要があります/エントリを時系列に。

それ自体では、私が知る限り、Sparkle は pubDate で 1 つのことしか行いません。それは更新候補の順序付けです ( https://github.com/sparkle-project/Sparkle/blob/master/SUAppcast.m#L218 ) 。

SUUpdaterをサブクラス化することで、Sparkle が適格な更新を選択する方法をさらにカスタマイズできます: https://github.com/sparkle-project/Sparkle/wiki/bundles#wiki-subclassing-suupdater参照てください。 .com/sparkle-project/Sparkle/wiki/customizationbestValidUpdateInAppcast

そこでは、アイテムをさらに処理して、考えている動作を実現できるはずです。

于 2014-01-28T11:22:28.000 に答える