Aplikacje działające w systemie MacOS X charakteryzują się specyficznym modelem dystrybucji. Otóż aplikacje takie są spakowane jako obraz dysku typu DMG. Taki obraz montuje się jako zewnętrzny nośnik i dopiero widzimy co jest w środku. Dodatkowo folder widoczny po zamontowaniu możemy w dowolny sposób upiększyć. Można dowolnie ustawić tło okienka i jego wielkość, można zmienić domyśle położenie ikonki i programu i jej wielkość. Wszystko po to, aby system nie był taki „suchy i jednolity”. Dodatkowo tak przygotowany obraz dysku umieszczamy gdzieś w sieci aby był dostępny do pobrania. Wszystko to musimy jednak robić ręcznie …chyba, że korzystamy z narzędzia ChocTop.
ChocTop jest specjalnie przygotowanym instalatorem działającym z lini poleceń, który przygotowany jest jako gem ruby’ego.
Pierwszym krokiem jest zainstalowanie ChocTop i inicjalizacja w folderze projektu;
1 2 3 |
sudo gem install choctop install_choctop /sciezka/do/naszego/projektu |
Wykonanie powyższych komend spowoduje utworzenie w folderze naszego projektu pliku Rakefile. uruchomienie tego pliku spowoduje wykonanie wszystkich czynności. Edytując ten plik ustalimy poszczególne ważne dane dla instalatora.
1 2 3 4 5 6 7 8 9 10 11 |
ChocTop::Configuration.new do |s| s.host = 'fajnyprogram.com' s.base_url = 'http://fajnyprogram.com/beta' s.remote_dir = '/projekty/fajnyprogram/beta' s.background_file = "background.png" s.volume_icon = 'Icon.icns' s.app_icon_position = [106, 83] s.applications_icon_position = [422, 83] end |
Kolejno mamy zdefiniowane:
– nazwę hosta naszej aplikacji ,
– bezpośredni link do niej,
– folder, do którego jest kopiowany spakowany obraz,
– plik użyty jako tło folderu,
– ikonki ,
– pozycja ikonki aplikacji,
– pozycja ikonki folderu aplikacji.
Jeżeli korzystamy ze menadżera aplikacji Sparkle, możemy także dodać pliki niezbędne do współpracy z tym frameworkiem. Umożliwi to powiadomienie użytkowników naszej aplikacji o pojawieniu się nowej wersji.
Jeżeli wszystko zostało poprawnie skonfigurowane uruchamiamy
1 2 |
rake dmg |
i zostanie utworzony nowy obraz dysku.
Jeżeli chcemy aby jednocześnie utworzony obraz dysku został skopiowany do zdalnego folderu wskazanego w konfiguracji uruchamiamy:
1 2 |
rake dmg upload |
To wszystko, mam nadzieję, że komuś się przyda.
.