A poszt nem szól tanulásról, kitartásról, egyedi ötletekről, egyszerűen azt írjuk le, milyen gyakorlati teendői vannak ma egy magyar programozónak - attól a pillanattól, hogy elhatározza, iPhone-ra fejleszt addig, amíg megjelenik egy alkalmazása az AppStore-ban. Sokan kérdeztetek erről levélben, hát most itt van, a leírást köszönjük Lovas Endrének, a Parkoló nevű alkalmazás fejlesztőjének.

Az Apple Developer programjába belépni, egy alkalmazást kifejleszteni és aztán jóváhagyatni egy kicsit macerás dolog. Mindenféle kósza hírek terjednek jogos, vagy vélt sérelmekről, hogy milyen csúnya az Apple, milyen nehézkesen állnak mindenhez és hogy valójában nehezebb, mint egy túlélőtúra a dzsungelben.

Nálunk korábban kezdő, tapasztalt motorosokkal beszélgetve mi is tudjuk, hogy ez igaz volt két évvel ezelőtt (hetekig tartó frissítések, valódi ok nélküli elutasítások). Ma már egyáltalán nem az. Személyes tapasztalataimat szeretném leírni, hogy hogyan működött az egész, amíg eljutottunk az Parkoló alkalmazásunk kiadásáig és annak frissítéséig. Akit kicsit is érdekel az iPhone fejlesztés, az nyugodtan vágjon bele, sok mindent kap az ember a pénzért, amit erre kiad.

Regisztráció

Kezdjük talán azzal, hogy miként válhatsz Apple Developer program tagjává, és mit is kapsz ezért. Elindítani viszonylag egyszerű, csak papírmunkát igényel. Mi cégként regisztráltunk, aminek szerencsére egyedüli aláírója voltam. A regisztráció kb. 2 hetet vett igénybe. Kellett hozzá aláírási címpéldány, cégkivonat és egy dombornyomott bankkártya, no meg egy faxkészülék.

A developer.apple.com oldalon beregisztrálhatsz. Figyelj arra, hogy melyik programban akarsz részt venni, mert aztán jön a kavarodás. Ha App Store-ba akarsz fejleszteni, akkor simán válaszd a 99 USD/év értékű programot. Ha házon belül akarod terjeszteni, akkor válaszd az Enterprise programot, ami 299 USD/év. Mivel Magyarországon nincs iTunes Store (App Store van, de az nem ugyanaz), ezért nem tudsz online fizetni. Le kell tölteni egy űrlapot, amit ki kell tölteni a regisztrációd adataival és a bankkártyád számával. Ezt el kell faxolni egy amerikai telefonszámra. Később el kell faxolni még az aláírási címpéldányt és a cégkivonatot is. Arra nem emlékszem, hogy személyes iratot kértek-e. Emlékeim szerint nem.

Innentől néma csend lesz kb. 1,5 hétig. Fel fognak hívni telefonon, ahol ékes angolsággal elmondják, hogy azért hívtak, hogy váltsanak veled két szót, valamint azért, hogy beterhelték a kártyádat, tag lettél és jó munkát kívánjanak.

Ettől a perctől kezdve tag vagy, Isten hozott a klubban. Egy csomó dologhoz ilyenkor férsz hozzá, ezek:

- Ingyenes XCode 4
- iOS béta változatok
- Developer fórum
- Push notification tesztelés
- iOS készüléken tesztelés (tesztelés az eszközön és nem a szimulátorban), max 50 készüléken
- Média anyagok. Pl: szerkeszthető nagyfelbontású fotók
- Support

Nincs más dolgod, mint fejlessz. Korlátlan számú jóváhagyást indíthatsz. És akkor elérkeztünk a következő izgalmas részhez, a jóváhagyás folyamatáshoz.

Jóváhagyás

Innentől kezd nagyon izgalmas lenni a dolog. Írtál egy király appot, szeretnéd kiadni a Store-ban. Ehhez előtte sok mindent teljesítened kell. Először is kell egy weblap. Kötelező, nem úszod meg. Nem kell bonyolult, de legyen. Aztán ki kell tölts különböző adónyilatkozatokat, szerződéseket, amiket a jóváhagyási oldalon találsz meg. Gyorsan megy, csak olvasni és kattintgatni kell.

Amikre különösen figyelj:

- olvass el minden Guide-ot, ami az alkalmazásoddal összefüggő lehet (pl: push notification)
- ne reformáld meg iOS felhasználói felületet
- ne fagyjon le a progi, mert azonnal kidobják
- ha adattitkosítást használsz, akkor USA Export engedélyt kell szerezzél, akkor is, ha iOS natív titkosítást alkalmazol
- olvasd el a leggyakoribb visszautasítási okok listáját
- inkább kevés funkció legyen, de az jól működjön
- ikon legyen rendben

Jó tanács:

- érdemes a programhoz mellékelni 10 pontból álló leírást angolul, azoknak akik a review-t végzik (erről később)
- jóváhagyás alatt ne fejleszd párhuzamosan a kódot, mert ha beüt valami bug, nem fogsz tudni gyorsan hibajavítást adni
- Mentsd el a beadott verzióhoz tartozó kódot feltétlenül, hogy az új verzió kiadása előtt az upgrade folymatot tesztelhesd! NAGYON FONTOS!
- Nem lehet hibázni egyszer sem! Upgrade miatt nem fagyhat le a program, mert a régi vevők adatot veszíthetnek.
- Hibabejelentőt készíteni jó ötlet a programon belül. Az emberek inkább oda írjanak és kedvesen válaszolj ahelyett, hogy a Store-ban húznak le nagyon.

Töltsd fel az appot az application uploader segítségével.

Dölj hátra, várd a jóváhagyást. Ez akár két hét is lehet. És számíts rá, hogy a programodat alaposan átnézik. Minél drágább, annál inkább. Állíts be alacsony árat, majd a jóváhagyás után vidd csak feljebb. Minden kommentre reagálj, ha lehet.

Személyes tapasztalatok

Amikor a Parkoló program első változatát beadtuk, nagyon izgultunk. Alaposan végiggondoltunk mindent. Létrehoztuk az in-app-purchase termékeket, beadtuk a csomagot jóváhagyásra és keresztbe tettük az ujjunkat.

Kábé egy napja volt bent a program, amikor találtunk egy apró, de bosszantó bugot. Vártunk, gondoltuk javítjuk a bugot, amint kijön az app. Pontosan 7 nap telt el, amikor a program átkerült "Jóváhagyásra vár" státuszból "Jóváhagyás alatt" státuszra. 2 óra múlva kaptunk egy levelet, hogy nagyon sajnálják, de a program további áttekintést igényel, majd jelentkeznek.

Ez nem túl jó hír. Ott a cikis bug és még ez is. Nem baj, gondoltuk, várunk még. Újabb négy nap telt el, amikor kaptam egy hívást Cupertinóból, hogy magyarázzam már el, hogy hogyan is működik az alkalmazás. Tulajdonképpen in-app-purchase-n keresztül fizetnek a népek a parkolásért? Éppen egy síkölcsönző közepén álltam, vacak volt a vonal, de a túlvégen ülő srác türelmes volt. Ami tetszett, hogy végül a saját szavaival megfogalmazta az alkalmazás működését és a következőt mondta el: a jóváhagyó csapat elutasította a programot, mert azt hitték, hogy a parkolásért store-ból fizetnek. Azt mondta visszaküldi jóváhagyásra.

Három napig nem történt semmi. Indultunk éppen síelni, a bugot nem hagyhattuk benne, a gyerekek lázban égtek, nehéz lett volna elmondani nekik, hogy nincs síelés, mert másoknak parkolni kell. Garázscég vagyunk, nem tehetjük meg, hogy valakit erre felveszünk. Inkább javítottuk a bugot, két hét elteltével visszavontuk a programot a jóváhagyási folyamatból, és beadtuk a javítottat, ezt már 1.1 verzióval (ezért nem volt soha 1.0). Azért hogy elkerüljünk egy hasonló félreértést, mint amit írtam, csináltunk egy PDF fájlt, amit a jóváhagyó srácok letölthettek. Le is töltötték a logok alapján. Érdemes volt rászánni az időt a megírásra.

Nyolc nap néma csend, még a fű se nőtt. Hazafelé jöttünk, amikor Győr környékén, vasárnap hajnalban jött az üzenet, hogy a programot elutasították. Kérik, hogy magyarázzuk el, hogy miért van benne ugyanolyan áron két in-app-purchase és hogy tegyünk be egy disclaimert a leírásba, hogy a GPS meríti az elemet.

Hazaértünk, hajnal 2-kor. Számoltam magamban, hogy Cupertinoban még nappal van. Ugyan szombat, de én ezt most már megválaszolom. Megírtam a választ, üveges szemekkel 10 órás vezetést követően. Nem hagytam annyiban. És megtörtént a csoda: 15 perc múlva jóváhagyták, kaptam egy jóváhagyó embertől emailt és reggelre kint voltunk az AppStore-ban.

A másik csoda ekkor következett. 18 órával később első helyen voltunk a magyar AppStore-ban. Ami még jobb volt, hogy egész kevés troll írkált kommenteket. Sokan írtak a support címünkre ötleteket, problémákat, megoldásokat, amiket szépen beletettünk a következő két verzióba.

A frissítési folyamat 1.1-ről 1.2-re már rutin volt. Hét napig tartott és nem volt semmi fennakadás. Bónusz: 1.2-ről 1.3-ra a jóváhagyás már csak kettő nap volt. Hogy miért, azt nem tudom.

Összegezve ne tántorítson el senkit, hogy milyen hírek vannak mindenfelé az Apple kekeckedéséről. Kekecek, de jó értelemben. Tényleg megnézik a programot és minden segítséget megadnak, hogy sikeresen kiadhasd.