Sparkle-обновляем приложения(а-ля Обновление программ))

Антон Титков
Development Разработка программ для AppStore
Sparkle-обновляем приложения(а-ля Обновление ...
Sparkle.framework


Сегодня я вам расскажу как добавить функцию обновления в ваше приложения для Mac:)
Начнем:

1)Нам понадобится:
  • Cocoa-приложение(готовое или нет,не имеет значения)
  • Набор,который можно скачать ниже
  • Сервер,куда мы будет лить наши апдейты)

Работаем с проектом:

1)Добавляем необходимые фреймворки в проект
а)Нам будет нужен 1 фреймворк:Sparkle.framework
Скачиваем набор.Добавляем Sparkle.framework путем перетаскивания в окно проекта(обязательно ставим галочку на"Копировать в проект")
б)в Targets выбираем наше приложение->Build Phases
Нажимаем Add Build Phase->Add Copy Files

Далее делаем как на скрине:


2)Переходим к IB.
а)Выбираем MainMenu.xib
б)Перетаскиваем Object.Класс определяем как SUUpdater


3)Добавляем пункт меню

1)
2)
Коннектим экшн -checkForUpdates:


На этом работа с проектом временно приостанавливается)

Переходим к набору:
Скачав набор,вы наверное уже увидели кучу папок(и даже прочитали в спойлере зачем они нужны;))

1)Генерируем ключи для подписи наших апдейтов

  1. Открываем Терминал
  2. Вводим:
    ruby путь/generate_keys.rb

    в хоум директории видим
    dsa_priv.pem
    dsa_pub.pem
    dsa_priv.pem оставляем себе(прячем куда-нибудь:))
    dsa_pub.pem перетаскиваем в наш проект(обязательно с копированием!)
    В Info.plist вашего приложения добавляем ключ SUPublicDSAKeyFile с строковым значением dsa_pub.pem(который вы скопировали в ваш проект)


2)Работаем с апдейтом

  1. В наборе открываем app.xml
  2. редактируем его под себя
  3. редактируем rnotes.html опять же под себя)
  4. когда апдейт будет готов подписываем его с помощью:
    ruby "путькsign_update.rb" "путькапдейту.zip" "путькdsa_priv.pem"

    На выходе получаем ключ,его вставляем в app.xml в sparkle:dsaSignature="сюдаключик" (кавычки сохраняем:))
  5. Заливаем на сервер app.xml;rnotes.css;rnotes.html;вашапдейт.zip
  6. В Info.plist вашего приложения добавляем ключ SUFeedURL c строковым значением(http://адрес/app.xml)

Ну вроде все:)Завтра-послезавтра постараюсь проапгрейдить мануал(добавить инстр. как настраивать обновлялку)

Скачать набор
13 мая 2011, 19:22

Ответы