2010-12-27 2 views
5

Я использую Qt для создания графического интерфейса кросс-платформы (Windows и Mac). Я хочу иметь возможность обновлять приложение эффективно и автоматически всякий раз, когда доступно новое исправление.Cross Platform Auto Updater

Я увидел this сообщение, которое заставило меня взглянуть на WyBuild. Это выглядит великолепно и, вероятно, что я могу использовать для версии Windows, но как насчет Mac? Какие существуют альтернативы?

ответ

2

Для Mac лучшим выбором является Sparkle, используемый WebKit, Adium, Cyberduck и другими. Его только для Mac, но я думаю, что родной взгляд на Mac много.

1

Не знаком с WyBuild, поэтому не могу комментировать. Sparkle - прекрасный выбор, но плакат предпочел одно приложение для обеих платформ. BitRock InstallBuilder содержит autoupdater, написанный в Qt, который может использоваться независимо (отказ от ответственности, я являюсь оригинальным разработчиком BitRock). Это коммерческое приложение, но у нас есть бесплатные лицензии на проекты с открытым исходным кодом.

4

Я только начал разрабатывать автоудатчик на основе Qt под названием Fervor для своих нужд. Вы можете попробовать это, взносы более чем приветствуются.

1

Существует Updatenode, который, как представляется, представляет собой реальное кросс-платформенное решение Qt.

Он поставляется с готовым клиентом для Windows, Mac и Linux. Онлайн-сервис позволяет легко управлять обновлениями и видеть хорошие диаграммы использования вашего приложения.

+0

Это может быть хорошим GPL не лицензирован QT клиента, но вы вынуждены использовать API Updatenode для коммерческих продуктов. Он доступен только для продуктов с открытым исходным кодом. См. Https://www.updatenode.com/main#pricing –

0

Это может быть очевидно, но для Linux вы можете использовать встроенный диспетчер пакетов. Например, apt-get, yum, pacman, или что у вас есть.

1

А вот еще одна из возможностей:

Использование Qt Installer Framework: Это обеспечивает инсталляторов для Windows/Linux/Mac с нароста в Updater. Если вам нужен пример - MaintenanceTool вашей Qt-установки использует фреймворк.

Чтобы получить автоматическое обновление от него, все, что вам нужно сделать, это:

  • Создать онлайн инсталлятор (Просто проверьте документацию, это не так сложно)
  • Используйте maintenancetool в приложении для проверки обновлений.
    • Этот тростник можно сделать, используя мой QtAutoUpdater. Отправляйтесь туда для получения дополнительной информации о всем процессе
    • Если новые обновления доступны, то maintenancetool может быть запущен в режиме обновления, чтобы установить обновление
  • Update онлайн хранилище - и ваше обновление выходит.

Преимущества:

  • Installer и обновления в 1 инструмент - это означает меньше работы для вас
  • Простота в использовании (с или без библиотеки QtAutoUpdater)
  • Cross-Platform для всех настольных платформы, поддерживаемые Qt
  • сам инсталлятор является Qt оригинальный

Недостатки:

  • Нет «родных» инсталляторов (т. нет .msi на окнах или .deb на убунту)
  • должны быть использовано вместе - если вы хотите использовать функцию обновления, вы должны использовать рамки как установщик