8 задължителни стъпки как да стартирате приложението Speech Blubs на Mac Catalyst

В началото на юни 2019 г. инженерите на iOS и macOS трепереха, защото Apple беше на път да пусне промени на годишната си конференция за WWDC. Каквито и да са те, те обикновено променят много планове на инженерите за лятото. Нашата цел е да внесем страхотно и качествено изживяване в iOS / Mac платформи, което обикновено означава да работим усилено, за да направим датата на излизане на Apple на най-новата ОС. 2019 година не беше по-различна, макар че може би дори малко по-специална.

Както обикновено, Apple пусна много нови функции, но имаше една, която лично с нетърпение очаквам да тествам. Общоизвестно е, че повече от година работят на UIKit порт за macOS. Има няколко приложения в macOS Mojave, изградени по тази технология, които самите Apple са изградили.

Какво означава точно за разработчиците на приложения

Това означава, че бихме могли да стартираме код за нашите iPhone и iPad приложения с много малко промени, родно в macOS. Това също означава, че не би трябвало да пренаписваме кода на потребителския си интерфейс от UIKit към AppKit, който се използва в macOS от десетилетия. По принцип бихме могли да добавим цялата платформа macOS към нашето портфолио само с няколко часа разработка.

Тъй като технологията вече беше в ОС миналата година, хората вече бяха развълнувани и започнаха да експериментират с така наречения „Проект Марципан“. През 2019 г. тя стана официална и вече се нарича „Project Catalyst“, която е включена в официалното издание на macOS Catalina. Но как работи на практика? Колко време отнема да се превърне истинско, продуцентско приложение за iOS, работещо на macOS с Catalyst?

Речи Blubs на Mac

Много исках да знам отговора на тези въпроси. Speech Blubs е основното ни приложение и постигаме страхотни резултати на iOS. Това е сложно приложение на няколко езика, с повече от 100 000 реда код, множество библиотеки на трети страни и т.н. За мен това звучеше като страхотен и реалистичен избор за този експеримент. Така че просто трябваше да започна да работя върху версия на Mac. , ,

Първо отворих проекта, създадох нов клон и щракнах върху платформата macOS! Следващата стъпка беше просто да го съставим! Изграждането на приложението ще изведе повече от 100 грешки. О Боже. Но нека продължа. Първо, трябваше да гарантираме, че всички библиотеки на трети страни се изграждат и свързват. Тъй като проектът използва CocoaPods, това би го направило малко по-сложно, тъй като поддръжката на Catalyst може да бъде все още малко бъги. И така, аз започнах да премахвам нашите аналитични библиотеки, включително Facebook, Crashlytics и техните зависимости, тъй като всъщност нямаме нужда от тях за този експеримент.

Стигнахме до последния свързващ брой: Царство. Speech Blubs използва Realm като база данни, защото е една от най-добрите мобилни бази данни там. Свързвахме го чрез CocoaPods и той просто нямаше да се изгради. Единственият начин да го включим беше с Swift Package Manager, който не бяхме използвали досега.

Swift Package Manager

Използваме няколко частни рамки и изграждаме проекта с CocoaPods. Преобразуването в SPM не би била малка задача със сигурност. Но всъщност не трябваше да отказваме изцяло CocoaPods, тъй като те работят ръка за ръка със SPM интеграцията на Xcode. И така, започнах с преобразуването на нашите вътрешни рамки, за да бъдат свързани със SPM. Това включваше и преобразуването на всички техни зависимости. Отне ми приблизително час, за да се науча да пиша прост пакет, бърз файл и да преобразувам всички наши зависимости.

Дори за моя изненада преминах много по-бързо, отколкото първоначално очаквах. Все още е малко досадно да добавяте Swift пакети ръчно в Xcode, тъй като се нуждаете от него, за да се презарежда всеки път, когато направите малка промяна в GIt хранилището в GitHub.

Компилиране и изпълнение на речи Blubs на Mac

Така че, сега всички зависимости се компилират и свързват успешно, но приложението все още не го прави. Вече премахнах някои библиотеки на трети страни, включително нашата поддръжка за чат. За да продължа, започнах да коментирам кода, който осъществяваше обаждания към тези библиотеки и след около час работа проектът се изграждаше успешно. За да го стартирам най-накрая, всичко, което трябваше да направя, беше да натисна бутона „Play“ в Xcode, на „My Mac“ като целево устройство, а Speech Blubs работи на работния плот за първи път! Невероятно усещане е да видите онази позната икона на iOS във вашия Dock.

Първо изпълнение на приложението Speech Blubs

Проблеми и бъгове

Първото тичане показа, че има някои бъгове и бъгове. MacOS е напълно различна платформа. Разбираемо, имаше няколко неща в Speech Blubs, които трябваше да поправим. Имахме някои проблеми с бутоните, тъй като те изглеждаха твърде големи. Най-вероятно само ограничения за автоматично оформление, които трябваше да бъдат коригирани. Превъртането работи, но понякога изглеждаше малко неоткликващо. Нашите функции на камера и микрофон не работеха правилно, тъй като имаше огромни архитектурни различия. Анализът и поддръжката на трети страни също липсваха, за да бъде напълно предлаган продукт.

отава

Освен няколко грешки и бъгове, Catalyst всъщност прави тежкото повдигане за вас. Разпознавачите на жестове работеха добре, всички елементи на UIKit по подразбиране също работят доста добре. Повечето от моделния ни код вече изтекоха от кутията, тъй като беше независим от потребителския интерфейс. В случаи като тези, солидната архитектура наистина помага при бързото преместване на нещата към нова платформа. Има ли смисъл за самия продукт? Честно казано не знам. Повечето от механиката, която използваме в приложението, не се вписват добре на Mac, но това не означава, че не сме следвали идеята. Всяко приложение е различно и има свои уникални функции. И всяка платформа е различна, същото важи и за watchOS, tvOS и т.н. Като цяло Catalyst е страхотен набор от инструменти и ако приложението ви има смисъл и в Mac, може наистина да опрости и ускори процеса на разработка, ако поддържате и iOS и macOS платформи. И още повече, когато ще можете да използвате SwiftUI, който е на поне една година. Така или иначе, беше добър експеримент да се направи, само за да се види как ще излезе всичко. Възможно е да имате грешки, които са налице поради обходни проблеми, внедрени в iOS, но те вече не работят на Mac. И така, за да отговоря на въпроса ми, колко време отнема? Зависи. В самия продукт, на iPad поддръжка, качество на кода и колко родно искате приложението да се чувства на Mac.

Свържете се с екипа на разработчици на Speech Blubs!

Ако искате да разговаряте за развитието на приложението, не се колебайте да се свържете с нас. Това е, което правим и какво обичаме, затова наистина обичаме да говорим за това! :)