Napište aplikaci pro iOS. Jak se naučit vytvářet aplikace pro iOS a macOS

Bez finančních investic a speciálních znalostí.

Zde je nejjednodušší návod, jak vytvořit základní iOS aplikaci a vyzkoušet ji na svém zařízení. Na jeho základě můžete jít dále do tématu a vytvářet opravdu užitečné programy.

Poznámka pro uživatele Windows: pro vytváření aplikací pro iOS je potřeba nainstalovat OS X na virtuální stroj (VirtualBox, VMware). Tento proces není v žádném případě jednoduchý a vyžaduje samostatné pokyny.

1. Přejděte do obchodu App Store a nainstalujte vývojové prostředí XCode:

Pokud již máte XCode, musíte jej aktualizovat.

2. Spusťte xCode a vyberte položku nabídky Soubor -> Nový -> Projekt:

3. Vyberte platformu a typ aplikace:

4. Poskytněte informace o projektu. Upozorňujeme, že jsme vybrali typ aplikace „Univerzální“:

5. Klikněte na tlačítko Nová složka a uveďte název složky, do které budeme ukládat soubory aplikace:

6. Zrušte zaškrtnutí políčka Create Git Repository a klikněte na tlačítko Create. V důsledku toho byste se měli dostat na úvodní obrazovku pro práci s aplikací:

7. Klikněte na položku Hlavní.příběh v pravém menu přetáhněte prvek do hlavního pole Označení a přidejte k němu text Ahoj světe:

8. Nyní musíme udělat ikonu pro aplikaci. Vybereme obrázek a nahrajeme jej na mapappicon.com:

9. Čekáme, až webová aplikace dokončí práci, a pomocí ikon označíme vaši e-mailovou adresu pro příjem archivu:

10. Vraťte se do XCode a vyberte sekci v levém menu Aktiva.xaktiva:

11. Otevřete archiv z pošty a přetáhněte odtud ikony do pracovního prostoru XCode:

12. Vyberte jeden ze simulátorů zařízení, klikněte na tlačítko pro spuštění aplikace (černý trojúhelník) a zapněte jej na vašem Macu Vývojářský režim:

13. Zkoušíme začít znovu. Čekáme, až se iOS načte do simulátoru:

14. Ujistěte se, že aplikace funguje:

Díváme se na hotovou aplikaci na zařízení

Nyní můžete vidět, jak aplikace na zařízení funguje. Než budete postupovat podle pokynů, ujistěte se, že máte nejnovější verze XCode a iOS.

1. Pojďme na xCode -> Předvolby -> Účty a přidejte své Apple ID:

2. Připojte zařízení iOS k počítači:

3. Vyberte požadované zařízení ze seznamu a klikněte na tlačítko Start. Chvíli čekáme.

4. Pokud se zobrazí zpráva o problémech se zabezpečením, přejděte na zařízení iOS na Nastavení -> Základní -> Správa zařízení a umožnit aplikacím od vývojáře spouštět s vaším Apple ID:

5. Přejděte na plochu a najděte ikonu nové aplikace:

6. Spuštění:

7. Odpojte zařízení od počítače. Nyní lze aplikaci používat.

Co dělat, když chcete víc?

Pomocí vědeckého šťouchání a Googlu můžete výše uvedenou sekvenci akcí rozšířit a vytvořit funkčnější aplikaci. Můžete jej ale používat pouze na svých vlastních zařízeních.

Apple totiž na aplikace klade velmi vysoké nároky. Pokyny pro recenze App Store obsahují 29 bodů a více než sto dílčích bodů. Aby jim aplikace vyhověla a byla přijata ke zveřejnění v obchodě, potřebuje vývojář velké množství technických znalostí.

Pokud chcete vytvářet kvalitní iOS aplikace určené pro hromadné použití,

Vytvoření aplikace pro iPhone může být pokryto stovkami knih o programování v C++ nebo Objective C. Toto není návod k použití, ale podrobný seznam kroků, které budete muset udělat, abyste vytvořili svou první aplikaci pro iOS.

1. Přijít s nápadem a nabrat tým. Vše začíná jednoduchým a inovativním nápadem a týmem, který je připraven se toho ujmout. Obvykle je to alespoň pár programátorů s úzkou specializací na různé obory, animátor, designér, tester a debugger. Budete také potřebovat někoho, kdo se dobře vyzná v použitelnosti.

2. Nezapomeňte si vytvořit Apple ID. Vezměte prosím na vědomí, že pokud v budoucnu budete publikovat aplikaci svým jménem a nikoli právnickou osobou, jako vývojáře bude vaše jméno a příjmení. Můžete použít trik a napsat místo něj název firmy, například: Pupkin Development, ale nikdo vám nezaručí, že po nějaké době nenastanou následky.

3. Registrace v komunitě vývojářů. Chcete-li to provést, budete muset utratit 100 $ (to je minimální cena za roční předplatné) a zaregistrovat si účet u Apple Developer Connection.

4. Instalace SDK. Sada pro vývoj softwaru umožňuje přímo vyvíjet aplikace pro iPhone nebo iPad. Obsahuje standardní sadu pro zahájení vývoje. SDK obsahuje XCode a iPhone Simulator. První software se používá pro psaní kódu a druhý pro jeho testování v reálném čase. Programy se spouštějí ze složky Aplikace. Pokud jste vývoj svěřili studiu, pak už jen počkejte a napravte jejich práci svými odbornými radami.

5. Vymyslete zvučný název, který by obsahoval i klíčová slova. Není zakázáno psát název ve dvou jazycích najednou, což zvýší variace pro budoucí vyhledávání vašeho výtvoru v iTunes

6. Nyní se musíte zaregistrovat v iTunes Connect, prostřednictvím kterého bude aplikace přímo umístěna v App Store. Bude to trvat jen několik sekund, protože budou použita data z vašeho profilu Apple ID.

7. Je čas vymyslet popis aplikace a pořídit barevné screenshoty, které určí, zda budou uživatelé App Store věnovat pozornost vašemu duchovnímu dítěti. Ke snímkům obrazovky se často přidávají titulky, které povzbuzují k akci.

8. Aplikace musí být před odesláním ke kontrole společnosti Apple důkladně otestována. Jak váš program funguje, můžete vidět v iPhone Simulatoru ze sady SDK nebo prostřednictvím aplikace TestFlight.

9. Odešlete svou žádost ke schválení. Kontrola se provádí ručně, takže budete muset počkat 1 týden až měsíc (zejména pokud se blíží nějaké svátky). Nejnepříjemnější je, že pokud je aplikace zrušena kvůli nějakému nešvaru, který opravíte během minuty, pak si stejně dlouho počkáte na novou recenzi.

10. Až se objeví dlouho očekávané zelené světlo od Applu, vše bude ve vašich rukou. Rozhodněte se o ceně (jen nezapomeňte, že nákupy v aplikaci jsou velká věc), reklamní kampani a výsledcích, kterých chcete dosáhnout. Propagace v App Store je ale téma na jiný článek.

Toto je moje druhá zkušenost s tvorbou aplikace. O tom prvním jsem mluvil podrobně v - tam jsme se bavili o přilákání investic, výběru developerů atd. Bohužel první placka vyšla hrudkovatě.

Velmi mě zklamal nedostatek programátorských dovedností, což vývojářům umožnilo kroutit rukama a profitovat z neznalosti. Proto jsem se rozhodl, že kódování musím zvládnout sám, protože vytvářet aplikace a neumět programovat znamená upadnout do velmi vážné závislosti, o které vývojáři vědí a často ji využívají.

Vzdělání

Obecně bylo rozhodnuto a v lednu 2016 jsem nastoupil do práce. Povoláním jsem aplikovaný informatik, ale vlastně jsem si z univerzity kromě nejzákladnějších dovedností při práci s Pascalem nic neodnesl, a to bylo před pěti šesti lety. Malou zkušenost jsem měl i s prací s HTML a CSS, při tvorbě jednoduchých webů, což však při tvorbě aplikací příliš nepomohlo. Začal jsem tedy od úplných základů. Od prastarého a téměř úplně zapomenutého Pascalu. Stáhl jsem si editor „Free Pascal“ http://freepascal.ru/, našel jsem učebnici a začal s jednoduchými programy pro sčítání a odčítání. Celkem to trvalo asi dva týdny výuky, dvě až tři hodiny denně, abych si osvěžil paměť.

Hloubkové studium Pascalu vyžadovalo více praxe, pro kterou jsem našel Abrahamyanovu knihu problémů Pascal s 1000 problémy (PDF).

Protože jsem chtěl začít psát aplikace co nejdříve, aniž bych čekal na konec první fáze školení, souběžně s řešením problémů v Pascalu, začal jsem studovat C podle knihy „Programovací jazyk C“ - Brian Kernighan a Dennis Ritchie (PDF). Zde řeknu samostatně, že přestože je tato kniha také v ruštině, studoval jsem ji v původním jazyce, protože obecně umím anglicky docela dobře, a to je podle mého názoru docela důležité pro každého, kdo se zabývá programováním. . V angličtině je zpravidla mnohem více vzdělávacích materiálů a jednoduše materiálů o konkrétním programovacím jazyce než v ruštině. Práce s AppStore, stahování aplikace, podmínky používání atd., to vše je také převážně v angličtině. Dá se tedy říci, že angličtina na úrovni čtení technické literatury je pro programátora povinná dovednost.

Mám Mac pro programování v C od svého prvního projektu. Vyřešil jsem problémy C v Xcode. Abych lépe porozuměl rozdílu v syntaxi Pascalu a C, začal jsem řešit problémy ze stejné Abrahamyanovy knihy problémů, ale v C. Po dvou týdnech každodenních 4-5hodinových lekcí jsem byl schopen vyřešit asi 300 problémů v Pascalu a o polovinu méně v C a také projít asi 100 stránek knihy o C. Zároveň jsem se rozhodl propojit s procesem učení službu v anglickém jazyce – Tree House.

Jedná se o školicí službu, která mi velmi pomohla při zvládnutí HTML a CSS. Předplatné stojí od 25 $ měsíčně. Ale podle mého názoru je to oprávněné. Služba poskytuje školicí materiály pro různé programovací jazyky včetně Java, C#, Python, Swift a mnoha dalších. Školení probíhá po etapách, od videa po video, s různými vložkami praktických úkolů.

Všechna videa jsou velmi vizuální, zajímavá, neustále aktualizovaná a podrobně vysvětlují všechny klíčové body, ať už jde o samotnou podstatu objektově orientovaného programování nebo principy práce v Xcode. Samozřejmě jsem si vybral školicí materiály na C a na tvorbu iOS aplikací s Objective-C.

Můj trénink tak připomínal snahu postoupit na všech frontách najednou. Cvičil jsem řešení problémů v Pascalu, abych, jak se mi zdálo, položil základy programování co nejpevněji, studoval jsem C, abych lépe porozuměl Objective-C, a nakonec jsem studoval Objective-C, abych mohl začít psát pro IOS. co nejdříve.

Takže uplynul další měsíc denních lekcí v průměru 4-5 hodin denně. Na jednu stranu by mohlo být logičtější přejít krok za krokem, řekněme, nejprve se vypořádat s Pascalem, pak C a pak přejít k Objective-C, ale ve skutečnosti to byl pokus pokrýt vše, co mi nakonec umožnilo ušetřit spoustu času, protože jsem se stále více začal věnovat ne řešení problémů v Pascalu a C, ale přímo tvorbě aplikací ze školícího programu Tree House. To bylo mnohem zajímavější a v podstatě to ukázalo, že úkoly z Abrahamyanovy knihy problémů, stejně jako materiály z Kernighan a Ritchieho Book on C jsou dobré pro pochopení základů, ale obecně jsou dost vzdálené skutečnému procesu vytváření aplikací. Výsledkem bylo, že na konci třetího měsíce mého tréninku jsem úplně přestal cvičit Pascal a C. Místo toho jsem se zaměřil na praktické materiály Tree House o Objective-C a vytváření aplikací v Xcode.

Tvorba hry. Idea

Po vytvoření několika jednoduchých aplikací z tutoriálu jsem se rozhodl, že jsem konečně připraven udělat něco zajímavějšího. Po otevření seznamu nápadů, který pravidelně doplňuji, když mě napadne něco potenciálně zajímavého, jsem se zaměřil na nápady na vytvoření hry na téma „Boj s korupcí“. Smyslem myšlenky je, že zkorumpovaní úředníci vystupují jako nepřátelé, je třeba je zneškodnit a pak se herní svět stane lepším. Je tam i podtext, který říká, že korupce je špatná a že čím méně, tím lepší životní prostředí. Vzhledem k tomu, že téma je pro Rusko relevantní a nenašel jsem aplikace s podobným nápadem, usadil jsem se a začal přemýšlet, jak jej nejlépe realizovat.

I když jsem stále neměl ponětí, jak vytvářet hry, rozhodl jsem se, že tento problém vyřeší několik výukových videí. Nejprve jsme se museli rozhodnout, jak bude hra vypadat. Po malém brainstormingu bylo rozhodnuto, že nejoptimálnější variantou bude 2D hra, kde hrdina na každé úrovni běhá zleva doprava a vstříc mu vybíhají různí protivníci a překážky. Tato možnost se mi zdála přijatelná pro herní myšlenku a nepříliš náročná na implementaci.

Poté, co byl koncept schválen a stručně popsán, bylo nutné pochopit, jak hry vznikaly. Po vygooglování videa jsem okamžitě narazil na jedno, které ukazovalo, jak vytvořit hru jako Flappy Bird ( Youtube).Vyvstala zde důležitá otázka. Není žádným tajemstvím, že Apple vydal v roce 2014 nový programovací jazyk – Swift, který absorboval spoustu dobrého z Objective-C a stal se jeho logickým pokračováním.

Video, na které jsem narazil, hovořilo o vytvoření Flappy Bird konkrétně ve Swift, ale nenašel jsem žádné, které by bylo stejně jednoduché a srozumitelné pro Objective-C. Bez váhání jsem se rozhodl, že budoucnost stále patří Swiftovi, a raději bych nezůstal pozadu, zvláště když tentýž Tree House měl vynikající materiály k jejímu studiu. V důsledku toho jsem si dal pauzu, abych se naučil Swift, pochopil syntaxi a hlavní rozdíly oproti Objective-C. Uplynul další týden výuky, v průměru 8 hodin denně. Prolétl jsem základními Swift tutoriály a rozhodl jsem se, že jsem konečně připraven projít si video o tom, jak vyrobit Flappy Bird. Za pár dní jsem dokázal vytvořit toto:

Poté, co jsem získal obecné znalosti o práci s enginem Sprite Kit, mohl jsem konečně přejít k práci na své aplikaci.

Pojem

Zpočátku jsem plánoval dělat jen ty nejjednodušší věci – 3-úrovňové rolovací pozadí, animovaného hrdinu, zbraně, možnost skákat a možnost střílet. Bylo to nutné, protože kromě nejobecnějších představ o práci se Sprite Kit jsem neměl žádné zkušenosti, musel jsem začít něčím velmi jednoduchým. Jak zaznamenávat kliknutí a provádět skoky na hrdiny, jak rolovat pozadí, jak vytvářet kulky v okamžiku střelby atd. Těch otázek byly desítky nebo dokonce stovky. A řešení pro všechny bylo vždy stejné – Google. Naštěstí existuje na internetu velké množství různých materiálů (bohužel většinou v angličtině) o tvorbě her ve Swiftu, které poskytují příklady řešení různých otázek, které mi vyvstaly. Obrovskou a neocenitelnou pomoc poskytuje také služba otázek a odpovědí Stack Overflow.

Myslím, že jsem s jeho pomocí dokázal vyřešit 70 % všech otázek, které jsem měl. Obrátil jsem se také na dokumentaci Apple, ale docela zřídka. Možná maximálně v 10 % případů a pak, když nebyly jiné možnosti.

Po dalším náročném týdnu, během kterého jsem věnoval téměř všechen svůj čas programování - 8-10 hodin denně, jsem mohl vytvořit toto:

Umělo škubat nohama (animaci jsem kreslil sám ve Photoshopu), skákat a střílet z brokovnice s charakteristickým zvukem a zároveň se pozadí rolovalo na pozadí. Tohle byl začátek)

Prototyp

Tato skica mi umožnila porozumět mnoha mechanismům mé budoucí hry, a když jsem se ujistil, že koncept je správný, rozhodl jsem se jako další krok přidat nepřátele, kteří umí střílet stejně dobře jako normální design. Původně jsem plánoval, že si veškerý design (pozadí, animace hrdinů a nepřátel, předměty atd.) objednám u freelancera, protože to je jediná věc, kterou jsem sám udělat nemohl. Pak jsem si ale vzpomněl na web Envato Market: http://market.envato.com/, kde jsem dříve nakupoval hudbu, šablony webových stránek, prezentace atd.

Kromě toho, co je uvedeno na webu, je zde velký výběr všemožných animací, textur, zvuků a dalších věcí, které jsou při vytváření aplikací nesmírně nutné. Ceny jsou podle mého názoru také velmi rozumné. Například sada animací hlavní postavy, kterou jsem vybral, kromě bonusů v podobě různých předmětů (mince, diamanty atd.) obsahuje 8 animací jako střelba, běh, skákání, umírání atd.

Koupil jsem tuto sadu za 7 $. Jediným bodem je, že zboží od nich zakoupené podléhá různým licencím. Některé například umožňují použití produktu pouze v jednom produktu pro neomezenou bezplatnou distribuci, jiné umožňují jeho přeprodej třetím stranám, jejichž cílem je stejná neomezená bezplatná distribuce, jiné, jako například u hudby, umožňují distribuci pouze omezený počet posluchačů atd. Náklady na tyto licence se liší a často se mohou lišit 4-5krát.

Jelikož jsem se ale hrdinu nechystal prodávat jako samostatný produkt, docela mi stačila licence na jeho neomezené bezplatné šíření.

Obecně jsem si koupil hrdinu, zbraně, nepřátele a vše, co bylo potřeba na pozadí. Samotné pozadí nebylo prodáno tak, jak je.

Toto je výsledek mé práce ve Photoshopu vytvořený z několika desítek různých objektů - plot, asfalt, díry, hromady odpadků atd. Celkově vytvoření trvalo několik dní. Následně jsem se na Envato podíval asi 10krát, pokaždé jsem si koupil něco jiného, ​​co jsem potřeboval.

Následovala obvyklá, na jednu stranu rutinní, ale zároveň velmi zajímavá práce. Krok za krokem jsem vyřešil určité vznikající problémy, přidal nové funkce, přepsal zdánlivě již napsané kousky kódu, když jsem našel možnost je zkrátit, optimalizovat nebo jinak vylepšit, opravil chyby atd. Samozřejmě, kdybych takovou aplikaci psal teď, udělal bych všechno dvakrát rychleji, ale v té době pro mě bylo naprosto všechno nové a musel jsem strávit spoustu času hledáním lepších řešení. Uplynuly dva měsíce intenzivní práce a prototyp, jak bylo zamýšleno, byl nakonec realizován.

Měl jsem hotový level s 5 druhy zbraní, lékárničkami, předměty, nepřáteli a mnoho dalšího. Dále jsem se rozhodl provést testování mezi svými přáteli a brainstorming, abych pochopil, co chybí. Došlo k několika opravám a doplnění. Natolik, že bych podle mých odhadů na hře pracoval ještě půl roku pro jistotu. Pár dní jsem o všem přemýšlel a nakonec jsem přišel se seznamem toho, co bylo opravdu potřeba, vše ostatní jsem proškrtal a rozhodl se použít metodu z vesmírného průmyslu, o které jsem kdysi slyšel. Jde o to, že od určitého okamžiku, před startem, bylo zakázáno na raketě provádět jakékoli změny nebo vylepšení. Jinak se to dá vylepšovat navždy.

Finalizace hry

Dále přišla otázka nepřátelského designu. Mám jich celkem 6 druhů - 5 jednoduchých nepřátel a boss + poctivý občan. Plánoval jsem nakreslit všechny tyhle skřítky, protože jsem chtěl, aby postavy byly živější. Šel jsem na Freelance.Ru a zveřejnil jsem inzerát na vytvoření 5 postav, s 18 animacemi (8-25 snímků) pro každou. Animací bylo hodně, protože kromě standardních běhání, střílení, zatýkání, stání atd. byly k vidění i animace smrti z každého typu zbraně, ať už zpomaleně nebo nezpomaleně. Nejlevnější cena od renomovaného nezávislého pracovníka, která mi byla uvedena, byla kolem 40 tisíc rublů a 1 měsíc práce. Zdálo se mi to trochu drahé, tak jsem se znovu obrátil na Envato. Naštěstí byla na stránky právě nahrána sbírka různých skřítků od stejného návrháře.

Skřítci z jeho sbírky spolu se sadou animací stojí v průměru 15 dolarů. Nejdůležitější je, že archiv se spritem obsahuje soubory pro program Sprite.

Otevřete-li Sprite v tomto programu a trochu mu porozumíte (je velmi snadné se to naučit), můžete pro své postavy vytvořit naprosto libovolné animace s různými scénáři. Obecně jsem o tom přemýšlel a koupil všechny postavy na Envato, poté jsem to sám zpracoval, přidal potřebné animace a nahrál je do aplikace. Práce s texturami je nutno říci, že je extrémně zdlouhavá a monotónní. Vytvořenou animaci jsem potřeboval stáhnout z programu Spriter, následně zpracovat ve Photoshopu (rozbalit, nastavit rozměry), poté zkomprimovat, přejmenovat, udělat 1x, 2x, 3x obrázky. Zpracování všech animací mi pravděpodobně trvalo minimálně měsíc. Celý měsíc monotónní a monotónní práce, naštěstí jsem do této práce mohl zapojit asistenta. Ale přišel jsem na celý proces, udělal jsem si animace, které jsem chtěl, a opakoval jsem je tolikrát, kolikrát bylo potřeba.

Souběžně s prací na texturách jsem pokračoval ve vývoji hry krok za krokem. Po dvou měsících nepřetržité práce jsem konečně uviděl světlo na konci tunelu. Ale bohužel se ukázalo, že jsem byl nucen přestat pracovat na téměř dva měsíce, protože se nahromadily další věci, plus léto a celkově byl projekt pozastaven. Později jsem se začátkem října vrátil do práce. I když jsem doufal, že zbývá jen velmi málo, ve skutečnosti se přede mnou začaly objevovat problémy, které jsem díky nezkušenosti dříve ani netušil.

Za prvé, navzdory skutečnosti, že jsem své textury png komprimoval pomocí této online služby: http://compresspng.com/ru/, nevedlo to k tomu, že by při běhu aplikace zabíraly méně paměti RAM. Byl nejvyšší čas, abych zjistil, že velikost obrázku není rovna velikosti k němu potřebné RAM.

Za druhé, objevil jsem úžasný svět úniků paměti, nástroje Xcode pro jejich sledování a všechny „požitky“ „silného referenčního cyklu“. Poté, co jsem svou hru prošel nástroji, objevil jsem asi 3 a půl tisíce úniků.

Za třetí jsem si uvědomil, že standardní rozlišení textury postav 180x180 pro mou hru je v podstatě příliš vysoké a mohu snadno předělat všechny animace na rozlišení 117x117 bez jakéhokoli zhoršení kvality. Zajímavé je, že v době tvorby animací jsem měl obavy, zda jsem neponechal zdroje v rozlišení 360x360. Vzhledem k tomu, že velikost obrázku 2x byla 180x180, obrázek 3x měl být podle mého chápání 360x360, ale z neznalosti jsem je neudělal a jak se ukázalo, díky bohu, protože nakonec nebyly t potřeba.

Za čtvrté, moje hra se po přidání všech animací a objektů začala znatelně zpomalovat. To vyžadovalo spoustu práce s optimalizací a přednačtením animací, zvuků a dalších věcí.

V důsledku toho jsem byl nucen kompletně předělat mnou vytvořené animační atlasy (jak se ukázalo, ne naposled), abych snížil spotřebu RAM. Zkomprimujte a ořízněte všechny obrázky a zmenšíte je v průměru o 30 %. Odmítněte 3x obrázky jako zbytečné a omezte se pouze na 1x a 2x. Proveďte spoustu práce na optimalizaci a eliminaci úniků paměti atd. Navíc bylo zapotřebí hodně práce k dokončení samotné hry, protože na první pohled se vše zdá připraveno a je třeba pouze dodělat poslední úpravy, ale přidání těchto úprav trvá hodně času. Obecně to trvalo déle než měsíc, i když ne příliš intenzivní práce v průměru 4-5 hodin denně, protože nebyla příležitost se do projektu plně zapojit. A začátkem listopadu bylo vše víceméně připraveno.

Poté nahrajte do App Store. Zde díky předchozím zkušenostem nebyly žádné dotazy. Během dne jsem udělal screenshoty, jednoduchý popis, první ikona, která mě napadla (mimochodem, jakmile máte hotovou ikonku, je lepší ji spustit přes tuto službu: https://makeappicon.com /, nahrajete tam svou ikonu a ona vám ji vrátí ve všech požadovaných velikostech a rozlišeních a klíčová slova (vybral jsem je pomocí služby https://sensortower.com/, stránka vám může poskytnout spoustu užitečných informací o vaší nebo jakékoli jiné aplikaci, ačkoli předplatné není levné).

A nyní je aplikace dostupná v AppStore. Hurá, hurá, ale opravdu ne.

Chyby, hrozné brzdy, chybějící obrázky, pády atd. To mě čekalo při testování na různých iPhonech s různými verzemi IOS. Okamžitě se ukázalo, že i přes to, že hra na IOS 9 funguje dobře, na iOS 10 běží s hroznými brzdami a každou chvíli zvuk zmizí. Byl jsem „potěšen“ dárkem, který 10 obsahoval, ale nebylo kam jít a pokračoval jsem v hledání a odstraňování chyb. Opět jsem musel kompletně předělat systém umístění všech textur v aplikaci, kompletně předělat systém přehrávání všech zvuků a opravit spoustu chyb navíc. Zvláště vřelý dojem zanechala nezbytná konverze kódu ze Swift 2.0 na Swift 2.3 při práci s aktualizovaným XCode. Zkrátka jsem opět více než měsíc vše finalizoval a teprve 13. prosince jsem mohl nahrát víceméně funkční verzi. I když je jasné, že nejde o poslední aktualizaci.

9. února 2015 v 17:54

Vytvoření aplikace pro iOS. Od nápadu k výsledku

  • Vývoj iOS
Všechno to začalo, když jsem se rozhlédl, a protože jsem neviděl auto svých snů, rozhodl jsem se ho navrhnout sám
Ferdinand Porsche

Dobrý den, Habr. Chci vám říct, jak jsem vytvořil svou první aplikaci pro iOS a co z toho vzešlo.

Idea

Nápad na aplikaci vznikl přirozeně: vytvořte něco, co byste sami rádi používali. Neustále si píšu poznámky. Každý zaneprázdněný člověk má totiž určitý soubor faktů, které během dne dostává, a které stojí za to si zapamatovat. A protože všichni zapomínají (a to je normální!), není lepší řešení, než si to zapsat. Při práci s aplikacemi na psaní poznámek prezentovanými v AppStore jsem vždy pociťoval nějaké nepohodlí. Přílišná složitost ve správě, přítomnost zbytečných kategorií, množství dalších informací - to vše brání aplikaci plnit její hlavní funkci. Navíc mnoho z těchto věcí prostě vypadá ošklivě.

Proto jsem vsadil na jednoduchost a pohodlí a začal jsem vytvářet koncept. Aplikační model s jediným seznamem poznámek. Vše na jednom místě, co by mohlo být jednodušší? Pokud má něco velkou hodnotu nebo význam, nemusíte to nutně označovat, můžete jednoduše přesunout důležitější položku na začátek seznamu. Staré a nepotřebné záznamy se postupně přesunou dolů a nakonec je uživatel smaže.

Funkční

Po vymyšlení konceptu jsem sepsal hlavní funkcionalitu - ty věci, na které bych se chtěl v managementu zaměřit:

Docela standardní funkce pro tento druh aplikací, budete souhlasit. Ale to je jen špička ledovce, ďábel se skrývá v detailech.

Nástroje

Před napsáním kódu v Xcode jsem kompletně přetvořil vzhled aplikace ve vektorovém editoru Sketch. Tento program je skvělý pro rychlé vytváření rozvržení. Pro tuto aplikaci je k dispozici spousta pluginů, mezi nimi je Sketch Preview - prohlížení artboardu přímo na zařízení prostřednictvím programu Skala Preview. Stačí si do počítače a mobilního zařízení stáhnout bezplatné programy Skala Preview a nainstalovat plugin. Poté vyberte požadované kreslicí plátno, stiskněte kombinaci Command+P a během vteřiny se vzhled aplikace přenese do zařízení.

Kromě toho je aplikace velmi pohodlná pro vytváření screenshotů pro publikaci v AppStore. Pro každou velikost obrazovky byla vytvořena jiná sada kreslicích pláten, spolu s použitím stylů byl čas strávený formátováním minimální. Ale o publikaci trochu později.

Rozvoj

V aplikaci jsem použil pouze dva ovladače – jeden přímo pro všechny, všechny, všechny poznámky, druhý pro zobrazení malého tutoriálu při prvním spuštění. Práci s databází jsem organizoval pomocí frameworku CoreData.

Po vytvoření základní funkcionality (vytváření, mazání, úprava poznámek) jsem se rozhodl každou z těchto funkcí vylepšit.

Souhlasím, úpravy textu v iOS jsou implementovány docela nepohodlně. Pokud uděláte chybu ve slově, chcete-li přesunout kurzor na požadovanou pozici, musíte se dotknout a bez sejmutí prstu z obrazovky se pokusit dostat do vybrané oblasti. Po opravě chyby je navíc potřeba vrátit kurzor zpět na konec řádku. Ve své aplikaci jsem se rozhodl přepracovat mechanismus pohybu kurzoru: ke změně slova stačí přejet prstem v oblasti mezi klávesnicí a zadávanou frází, aniž byste zablokovali pohled na text.

Animace mazání a přesunu nahoru jsem se rozhodl implementovat sám a obrazový doprovod co nejvíce přiblížit reálnému životu. Něco získalo vyšší prioritu – přejeďte prstem doprava a poznámka se přesune na začátek seznamu. Chcete-li smazat, přejeďte prstem doleva a animace přeškrtnutí ukáže, jak dlouho je třeba prodloužit přejetí, aby bylo odstranění dokončeno. Pokud ji omylem smažete, stačí zařízením zatřepat („Zatřesení“) a poznámka se vrátí na své původní místo.

Abych poznámku zvýraznil, použil jsem LongTapGesture a tři hlavní barvy aplikace – bílou, modrou a červenou, které tvořily hlavní barevnou paletu.

Přechod mezi denními a nočními tématy jsem se rozhodl udělat automaticky – proč ještě nikoho nenapadlo měnit vzhled v závislosti na poloze slunce na obloze? Je to velmi jednoduché – po setmění a po východu slunce se téma změní a uživatel se nemusí rozptylovat od psaní poznámek, protože aplikace se vždy automaticky přizpůsobí okolním podmínkám.

Pojmenování

Název aplikace je nejdůležitější částí při vývoji, je to první věc, kterou uživatel v obchodě vidí. Na Habrém jsou o tom informace. K výběru názvu jsem se rozhodl přistoupit důkladně: nejprve jsem si prošel seznam 1000 nejoblíbenějších slov v anglickém jazyce a sepsal všemožné kombinace, které by se hodily k názvu mobilní aplikace na psaní poznámek; kromě toho jsem to chtěl udržet v rozmezí 8-10 znaků. Ale zároveň jsem nechtěl zvolit název SuperNotes nebo NotesPlus atd., chtěl jsem něco nového. Kombinace se mi líbila šílená poznámka, na který jsem náhodou narazil v Urban Dictionary:
šílená poznámka - vynikající, zábavná, překvapivá, nečekaná nebo úžasná

Okamžitě se objevil slogan: MadNotes – Všimněte si své vášně. Jelikož jsem již měl připravenou paletu základních barev (bílá, modrá, červená), rozhodl jsem se rovnou vymyslet vhodnou ikonku. Situace s logy pro aplikace tohoto druhu je žalostná:

Vzhledem k tomu, že poznámky na papíře se píší tužkou nebo perem, rozhodl jsem se toto zobrazit na ikoně - tužce otočené pod úhlem 45 stupňů. Dopadlo to takto:

Výsledek

Jelikož byl projekt původně koncipován jako designový, rozhodl jsem se se svou přihláškou zúčastnit celoukrajinské soutěže Ukrainian Design Awards: The Very Best Of v kategorii Digital Design. Do soutěže zbývalo několik týdnů, za tu dobu jsem stihl na Behance udělat publikaci, kde jsem vizuálně ukázal všechny hlavní funkce aplikace a natočil i video náhled.
Vzhledem k tomu, že vítězové soutěže se vyhlašují až na poslední chvíli, bylo neuvěřitelně milé vidět mou práci na výstavě prací vítězů - porota viděla a ocenila hlavní koncept - minimalistický a zároveň, funkční aplikace na psaní poznámek.


Aplikace je v AppStore několik měsíců, za tu dobu jsem provedl šest aktualizací a přepsal kód ve Swiftu. Poslední verze (1.2) přidala synchronizaci s iCloudem, takže poznámky se již přesunuly do cloudu.

Děkuji za pozornost.
Všimněte si své vášně

Vývojář Richard Felix zveřejnil koncem minulého měsíce zábavný článek, ve kterém se snažil co nejjasněji a nejstručněji vysvětlit, jak vytvořit úspěšnou aplikaci pro iOS. Podělil se zejména o užitečné tipy pro začínající vývojáře, vlastní postřehy z hlediska designu programu a nejnovější trendy v App Store.

Richard zná všechny záludnosti vývoje z vlastní zkušenosti, protože za posledních pár let vytvořil řadu oblíbených aplikací pro moderní mobilní platformy a web (Are My Sites Up, Stunning, Dispatch a další).

A tak jste se v určité fázi svého života rozhodli stát se vývojářem a zkusit si vytvořit svou vlastní aplikaci pro iOS. Bojíte se, že strávíte spoustu času (a peněz) vývojem programu, který nikdo nebude používat. Sníte o tom, že vytvoříte aplikaci, která se bude rok po vydání aktivně prodávat, ale netušíte, jak na to. Níže popsané tipy vám pomohou dosáhnout vašich cílů.

Najděte originální nápad

Na každé prezentaci Apple oznamuje milionové prodeje iOS zařízení a fantastické rekordy App Store. Na základě této skutečnosti mnoho začínajících vývojářů mylně předpokládá, že vytvoření dalšího banálního e-mailového klienta nebo editoru fotografií jim umožní vydělat miliony dolarů (podle jejich názoru to nutně nevyžaduje šplhání na vrchol žebříčků App Store společnosti Apple).

Navzdory rozšířenosti platformy iOS je to však velká mylná představa. Samozřejmě, že v tomto případě budete vydělávat nějaké peníze a kompenzovat vývojový proces, ale skutečně dosáhnout smysluplnéúspěch, váš program musí nejen plnit uvedené funkce, ale také mít nějakou originální vlastnost, jakousi chuť, která by jej odlišila od stovek konkurentů a přitáhla pozornost na obecném pozadí.

Prozkoumejte svou cílovou skupinu

App Store nabízí komukoli skutečný poklad v podobě žebříčků oblíbených aplikací, na základě kterých se můžete rozhodnout pro kategorii programu, všimnout si některých bodů a najít ten velmi originální nápad.

V současné době můžeme v App Store rozlišit následující tři kategorie nejoblíbenějších programů:


  • Alternativní aplikace pro systémové programy iOS (vylepšené kalkulačky, kalendáře, emailové klienty, fotoeditory, seznamy úkolů atd.). Jsou oblíbené, protože mnoho lidí se potýká s omezeními standardních nástrojů iPhone/iPad a chtějí rozšířit funkčnost svých zařízení. Apple vytváří programy pro široké masy (jsou snadno použitelné a intuitivní), proto pokročilejší uživatelé trpí (pokud potřebujete více funkcí, budete muset použít aplikaci třetí strany - a to je naše výhoda).

  • Hry a mnoho z nich. Zejména ty, které vás nutí sdílet aplikaci s přáteli a kolegy, což je mnohem cennější než jakýkoli reklamní banner.

  • Aplikace s minimálním počtem funkcí, které se na první pohled zdají tak elementární, že mnoho vývojářů takové nápady odmítá i ve fázi přemýšlení o projektu. Typickým příkladem je program s názvem Over, který umožňuje přidat k fotografiím elegantní popisky. Pokročilému uživateli se může Over zdát jako dosti omezený nástroj, ale mnoho začátečníků je s tímto „editorem fotografií“ naprosto spokojeno, což potvrzují dobré prodeje. Je úžasné, jak správná implementace jediné deklarované funkce může vést ke zcela úspěšnému programu.


Neobjevujte znovu kolo a často aktualizujte

Mnoho populárních aplikací pro iOS dosáhlo svého úspěchu díky následující vlastnosti – umožňují uživateli rychle provést nějakou akci (např. upravit fotku), ale nezatěžují ho zbytečnými funkcemi a tlačítky. Není třeba znovu vynalézat kolo a vytvářet editor fotografií s funkcí přehrávání hudby.

Vžijte se do kůže uživatele, zkuste se zaměřit na funkce, které budou opravdu užitečný. Není vůbec nutné implementovat všechny vaše nápady v první verzi, ponechat drobné nápady pro budoucí aktualizace aplikace. Po vydání programu v App Store budete mít spoustu uživatelských recenzí, na základě kterých můžete vyvodit závěry o nutnosti implementace té či oné funkce.

Kromě toho pravidelné aktualizace aplikací umožňují, aby byl váš produkt neustále slyšet a „blikat“ před očima potenciálních kupců v blogosféře.

Nakreslete barevnou ikonu

Krásná ikona je klíčem k úspěchu každé aplikace ( takže někdo? - poznámka redakce). Když uživatel drží v ruce iPhone nebo iPad, chce na svém displeji vždy vidět kvalitní grafiku a „laskavý“ design, který, jak se říká, lahodí oku. Lidé budou s větší pravděpodobností věnovat programu pozornost, pokud oddělení designu věnuje dostatek času a úsilí vytváření atraktivní ikony značky. V konečném důsledku by to mělo vaší aplikaci pomoci dostat se na vrchol žebříčků App Store.

Na specializovaných stránkách jako např




Horní