2014-01-28 1 views
1

Я надеялся, что элемент xml appcast pubDate позволит мне указать, что мое приложение не может рассматриваться для обновления, если текущая дата не является датой публикации (pubDate) или более поздней.Является ли цель объекта pubcast в Appcr в среде обновления Sparkle, чтобы включить сохранение обновления до некоторой желаемой даты публикации?

Вот пример appcast, который включает в себя элемент 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

Итак последовательность такова:

  1. Я скопирую обновленное приложение myapp v1.1 на мой веб-сервер обновлений в понедельник
  2. на моем сервере обновлений, Я также установил pubDate в среду (в правильном формате RFC 822).
  3. во вторник кто-то запускает myapp v1.0 и пытается обновить myapp до того, что доступно, используя сверкающий appcast, входящий в комплект myapp v1.0.
  4. при этом point, sparkle сравнивает версию и видит, что обновление должно произойти, но его все еще только во вторник, поэтому блеск не дает возможности обновляться, пока он не попытается снова в среду (или позже).
  5. Среда приходит и пользователь пытается обновить myapp v1.0 снова, и на этот раз он работает, потому что версия обновляется, а дата - в среду.

Является ли это целью элемента pubDate Sparkle?

Использует ли Sparkle pubDate, чтобы определить, должно ли происходить обновление или нет в дополнение к номеру версии?

Сохранение приложения от обновления до некоторой даты - это то, что я хочу, но я считаю, что pubDate, похоже, не делает этого для меня.

я не смог найти ссылку на цели PubDate в Sparkle документы: https://github.com/sparkle-project/Sparkle/wiki

ответ

1

Искорка использует RSS, как вы знаете, в список обновлений приложений внутри тегов корпуса (это то, что они называют «appcasting» - см: http://connectedflow.com/appcasting/)

элемент PubDate не является специфичным для Искрятся - это просто часть RSS спецификации (см http://www.w3schools.com/rss/rss_tag_pubdate.asp), и могут/должны быть использованы родовыми читателей RSS, чтобы представить элементы/записи в хронологическом порядке.

Самих по себе Искорке делает только одну вещь с PubDate, насколько я могу сказать - и это заказ кандидаты обновления (https://github.com/sparkle-project/Sparkle/blob/master/SUAppcast.m#L218)

Теперь, вы может настроить так, как Искорка выбирает подходящие обновления подклассов SUUpdater : см. https://github.com/sparkle-project/Sparkle/wiki/bundles#wiki-subclassing-suupdater и, в особенности, bestValidUpdateInAppcast: https://github.com/sparkle-project/Sparkle/wiki/customization

Здесь вы сможете обрабатывать детали и выполнять поведение, которое вы имеете в виду.