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 フィードに表示されません。では、単一の言語のみを使用する場合、タグには目的がありますか?

「Complete Change log here」などの更新がある場合に表示される説明へのリンクを追加する可能性があると思いましたが、そうではありません。また、Web ブラウザーで xml ファイルを表示するときに「リンク」が表示されないため、タグの目的について混乱しています。

4

1 に答える 1

2

sparkle RSS 定義は、標準の RSS 定義を拡張したものです。sparkle 固有のアイテムは、Sparkle フレームワークによってのみ使用され、バージョンを適切に判断したり、ユーザーに新しい更新を求めるときにリリース ノートを表示したりします。Web ブラウザー (ありきたりの RSS フィードを期待し、Sparkle 拡張機能はありません) は、アプリ内で呼び出されたときに Sparkle フレームワークが利用できるすべての魔法のグーを表示しません。

Sparkle プロジェクトが提供するサンプル テスト appcastには、フィードで定義された 2 つの sparkle 固有のアイテム フィールドがあります。

  1. ユーザーに新しいリリースを提案するポップアップ ウィンドウに表示されるリリース ノートを含む URL をラップします。

  2. sparkle:version、sparkle:shortVersionString、および sparkle:dsaSignature は、「enclosure」タグに対する Sparkle 固有の 3 つの属性であり、Sparkle フレームワークが最新バージョンを提案し、意味のあるユーザー向けバージョンを表示し、ユーザーのダウンロードが確実に行われるようにします。無事、無事に終了しました。署名の値が正しくない場合、(IIRC) 「ファイルが破損しているようです」というメッセージがユーザーに表示されます。

一般に、通常の更新手順中にバージョンと署名の両方がチェックおよび/または表示されるため、別のコンピューター (通常の開発マシンは別として) で Sparkle を使用して更新を実行するだけで、これらを簡単にテストできます。これを、(Web ブラウザー内で) 記述した出力インスペクションと組み合わせると、アプリキャストが整形式であることを確認するのに十分なはずです。

Sparkle 拡張機能の機微について私が見つけた最良の標準的な定義は、質問で指摘した場所にあります: https://github.com/sparkle-project/Sparkle/wiki/publishing-an-update

于 2014-06-23T07:32:20.163 に答える