Build Phases Нажимаем Add Build Phase->Add Copy Files Далее делаем как на скрине: [IMG]http://i2.fastpic.ru/big/2011/0513/97/cb8330493b08966f51705904cb91aa97.png[/IMG] [B]2)Переходим к IB. [/B]а)Выбираем MainMenu.xib б)Перетаскиваем Object.Класс определяем как SUUpdater [IMG]http://i2.fastpic.ru/big/2011/0513/f5/ad94aee26536c23a304030bc8f650af5.png[/IMG] [B]3)Добавляем пункт меню [/B] 1)[IMG]http://i2.fastpic.ru/big/2011/0513/77/3d684fac104dda760b4049eecb0f8177.png[/IMG] 2) Коннектим экшн -checkForUpdates: [IMG]http://i2.fastpic.ru/big/2011/0513/1b/a09701ae1aeee2ba47da2c361ef25e1b.png[/IMG] На этом работа с проектом временно приостанавливается) Переходим к набору: Скачав набор,вы наверное уже увидели кучу папок(и даже прочитали в спойлере зачем они нужны;)) [B]1)Генерируем ключи для подписи наших апдейтов [/B] [LIST=1] [*]Открываем Терминал [*]Вводим: [CODE]ruby путь/generate_keys.rb[/CODE] в хоум директории видим [QUOTE]dsa_priv.pem dsa_pub.pem[/QUOTE] dsa_priv.pem оставляем себе(прячем куда-нибудь:)) dsa_pub.pem перетаскиваем в наш проект(обязательно с копированием!) В Info.plist вашего приложения добавляем ключ SUPublicDSAKeyFile с строковым значением dsa_pub.pem(который вы скопировали в ваш проект) [/LIST] [B]2)Работаем с апдейтом [/B] [LIST=1] [*]В наборе открываем app.xml [*]редактируем его под себя [*]редактируем rnotes.html опять же под себя) [*]когда апдейт будет готов подписываем его с помощью: [CODE]ruby "путькsign_update.rb" "путькапдейту.zip" "путькdsa_priv.pem"[/CODE] На выходе получаем ключ,его вставляем в app.xml в sparkle:dsaSignature="сюдаключик" (кавычки сохраняем:)) [*]Заливаем на сервер app.xml;rnotes.css;rnotes.html;вашапдейт.zip [*]В Info.plist вашего приложения добавляем ключ SUFeedURL c строковым значением([url]http://адрес/app.xml[/url]) [/LIST] Ну вроде все:)Завтра-послезавтра постараюсь проапгрейдить мануал(добавить инстр. как настраивать обновлялку) [SPOILER="Скачать набор"] [URL="http://cl.ly/3a460t2T302W212m2H2G"]Скачать[/URL] [SPOILER="+ небольшой мануал по архиву"] Содержимое: [LIST] [*]Sparkle.framework [*]папка "для подписи",содержит два скрипта на руби:один для генерации ключей,один для подписи апдейта [*]папка "это на сервер",содержит файлы,которые необходимо залить на сервер(перед этим их необходимо подогнать под себя!);на сервер же в ту же папку льем архив с апдейтом [/LIST][/SPOILER][/SPOILER]"/> Build Phases Нажимаем Add Build Phase->Add Copy Files Далее делаем как на скрине: [IMG]http://i2.fastpic.ru/big/2011/0513/97/cb8330493b08966f51705904cb91aa97.png[/IMG] [B]2)Переходим к IB. [/B]а)Выбираем MainMenu.xib б)Перетаскиваем Object.Класс определяем как SUUpdater [IMG]http://i2.fastpic.ru/big/2011/0513/f5/ad94aee26536c23a304030bc8f650af5.png[/IMG] [B]3)Добавляем пункт меню [/B] 1)[IMG]http://i2.fastpic.ru/big/2011/0513/77/3d684fac104dda760b4049eecb0f8177.png[/IMG] 2) Коннектим экшн -checkForUpdates: [IMG]http://i2.fastpic.ru/big/2011/0513/1b/a09701ae1aeee2ba47da2c361ef25e1b.png[/IMG] На этом работа с проектом временно приостанавливается) Переходим к набору: Скачав набор,вы наверное уже увидели кучу папок(и даже прочитали в спойлере зачем они нужны;)) [B]1)Генерируем ключи для подписи наших апдейтов [/B] [LIST=1] [*]Открываем Терминал [*]Вводим: [CODE]ruby путь/generate_keys.rb[/CODE] в хоум директории видим [QUOTE]dsa_priv.pem dsa_pub.pem[/QUOTE] dsa_priv.pem оставляем себе(прячем куда-нибудь:)) dsa_pub.pem перетаскиваем в наш проект(обязательно с копированием!) В Info.plist вашего приложения добавляем ключ SUPublicDSAKeyFile с строковым значением dsa_pub.pem(который вы скопировали в ваш проект) [/LIST] [B]2)Работаем с апдейтом [/B] [LIST=1] [*]В наборе открываем app.xml [*]редактируем его под себя [*]редактируем rnotes.html опять же под себя) [*]когда апдейт будет готов подписываем его с помощью: [CODE]ruby "путькsign_update.rb" "путькапдейту.zip" "путькdsa_priv.pem"[/CODE] На выходе получаем ключ,его вставляем в app.xml в sparkle:dsaSignature="сюдаключик" (кавычки сохраняем:)) [*]Заливаем на сервер app.xml;rnotes.css;rnotes.html;вашапдейт.zip [*]В Info.plist вашего приложения добавляем ключ SUFeedURL c строковым значением([url]http://адрес/app.xml[/url]) [/LIST] Ну вроде все:)Завтра-послезавтра постараюсь проапгрейдить мануал(добавить инстр. как настраивать обновлялку) [SPOILER="Скачать набор"] [URL="http://cl.ly/3a460t2T302W212m2H2G"]Скачать[/URL] [SPOILER="+ небольшой мануал по архиву"] Содержимое: [LIST] [*]Sparkle.framework [*]папка "для подписи",содержит два скрипта на руби:один для генерации ключей,один для подписи апдейта [*]папка "это на сервер",содержит файлы,которые необходимо залить на сервер(перед этим их необходимо подогнать под себя!);на сервер же в ту же папку льем архив с апдейтом [/LIST][/SPOILER][/SPOILER]">
2

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

Антон Титков
Development Разработка программ для AppStore
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

Ответы