^
Enable Mac Support

Jak zrobiłem aplikację na Maca w 60 sekund, czyli Project Catalyst

Jaromir Kopp

18 czerwca 2019

Moje utyskiwania na pierwsze podejście do aplikacji uniwersalnych w macOS Mojave, są Wam znane. Jednak, jak również, mam nadzieje przeczytaliście, nie przekreślam tego pomysłu, a jedynie ubolewam nad jego wykonaniem. Ponieważ najlepiej rozpoznanie przeprowadzić walką, zaryzykowałem eksperyment na własnym projekcie sprzed 3 lat.

PistonCalc ostatnia aktualizacja w 2016 roku

Nie dość, że przez trzy lata nie kiwnąłem palcem przy programie i jest on przygotowany dla iOS 8, to dodatkowo powstał jeszcze w ObjC, a nie Swift. Choć może właśnie ten ostatni aspekt ułatwił cały eksperyment. ObjC przez lata niewiele się zmieniał. Doczekał się wersji 2 z haczykiem w ciągu ponad trzydziestu lat. Swift dorobił się wersji 5 w 5 lat. Dlatego starsze projekty czasem trzeba mozolnie konwertować i przerabiać.

Mój wiekowy kalkulator „silnikowy” z konwersją jednostek, wystarczyło otworzyć w Xcode 11 beta 2 na macOS 10.15 b2, dokonać automatycznej korekty ustawień projektu do bieżących wymagań i już dawało się go kompilować na iOS 13. Zaznaczę, że program w wersji na iOS jest uniwersalny, czyli dostosowuje się również do ekranów iPadów. Dzięki temu może niebyt zgrabnie, ale jednak wpasował się w ekrany najnowszych iPhone’ów, choć podczas jego tworzenia nie miałem ani pojęcia o takich, ani nawet zamiaru nadmiernej elastyczności. Na szczęście już wtedy jakoś radziłem sobie z Auto Layout.

Po tym pierwszym sukcesie i uruchomieniu aplikacji na symulatorze iPhone’a Xs Max, bardzo kusił mnie haczyk „Mac”, który pojawił się w Xcode 11 pod „iPhone” i „iPad”.

Project Catalist Enable Mac Support

Po jego wciśnięciu wyświetlił się komunikat o koniecznych (automatycznych) zmianach i wymogach dla wersji Mac, które Xcode wykonał sam. Niestety pierwsza próba uruchomienia na Mac się nie powiodła. Jednak komunikat o błędzie, od razu zasugerował co i gdzie należy dopisać. Wystarczyło dodać jako „dopuszczalną” architekturę x86_64, co oznacza 64-bitowe Intele. Po tym program ruszył! Całość zajęła mi może minutę.

Na macOS w dwóch wersjach.

PistonCalc powstał również w wersji dla macOS, ale jako osobny projekt. Tylko część obliczeniowa jest wspólna. Sami porównajcie wersję dedykowaną dla Mac z wersją, która powstała dzięki Project Catalyst „automagicznie”. Moim zdaniem, choć mój stary projekt „trąci myszką”, to wygląda jednak lepiej. Z drugiej strony, nie chciało mi się go rozwijać i ostatni raz był aktualizowany w 2013 roku. Wersja dla iOS przypomnę: w 2016.

Project Catalist Porownanie wyglądu aplikacji

Na górze po lewej Catalist, po prawej iOS na iPhone 8 (symulator), ja dole natywna wersja dla macOS (z 2013 roku).

Mam nadzieję, że Project Catalyst nie będzie tylko wymówka dla leniwych programistów i jak już wcześniej pisałem, za pomocą „dodatniego sprzężenia zwrotnego”, przyniesie korzyści obu platformom.

Tu możecie znaleźć więcej informacji o PistonCalc.

Jaromir Kopp

Użytkownik komputerów Apple od 1991 roku. Dziennikarz technologiczny, programista i deweloper HomeKit. Propagator przyjaznej i dostępnej technologii. Lubi programować w Swift i czystym C. Tworzy rozwiązania FileMaker. Prowadzi zajęcia z IT i programowania dla dzieci oraz młodzieży, szkoli też seniorów. Współautor serii książek o macOS wydanych przez ProstePoradniki.pl. Projektuje, programuje oraz samodzielnie wykonuje prototypy urządzeń Smart Home. Jeździ rowerem.
Komentarze (0)
L

0 komentarzy

Funkcja trackback/Funkcja pingback

  1. macOS Catalina 10.15 Beta 9 w rękach deweloperów - Mój Mac - […] „flagowy” projekt Mac Catalyst, który pozwala na bardzo szybkie wydanie aplikacji dla iPada w wersji dla Mac, ma nadal…
  2. Niestety Apple z Catalyst nie odpuszcza - Mój Mac - […] raz opisywałem mój eksperyment z uruchomieniem aplikacji, którą lata temu napisałem na iPada i iPhone’a. Ponieważ była w ObjC,…