Ustvarjanje iOS aplikacije z AI: pasti in preverjanja
Avtor: Mehdi Azizi
Posodobljeno , 9 min
Claude, ChatGPT in Cursor hitro napišejo kodo za iOS. Podpisovanje, naročnine, Applov pregled, pravi iPhone: kaj spregledajo in kako vse preveriti.
Ustvarjanje iOS aplikacije z AI: kratek odgovor
Da, iOS aplikacijo lahko z AI ustvariš tudi kot začetnik. Ta način dela ima ime, vibe coding. Claude, ChatGPT ali Cursor zelo dobro napišejo zaslone, navigacijo, preprosto logiko in klice baze podatkov. Slabo pa jim gre vse, kar se dogaja zunaj kode: podpisovanje aplikacije, nastavitve v App Store Connect, naročnine, Applov pregled in sesutja, ki se pokažejo samo na pravem iPhonu.
Z drugimi besedami: AI ti prihrani tedne pri najbolj vidnem delu, pri delu, ki odloča, ali bo tvoja aplikacija sploh kdaj izšla, pa te pusti samega. Ta vodnik ti pokaže, kje je meja, kako AI usmerjati, da ostane koristna, in kako preveriti, kar ustvari, preden to namesto tebe naredijo Apple ali tvoji uporabniki.
Svoje iOS aplikacije vsak dan programiram s Claudom in Cursorjem. Solys, budilka z mini igrami, in TradaZen, simulator trgovanja, sta na App Storu. Nolero in Clic je Apple zavrnil, potem sem ju popravil. Vse, kar sledi, prihaja iz tega dela, ne iz demonstracije. Če se še odločaš za orodje, v ločenem vodniku primerjam Claude Code, Cursor in ChatGPT za iPhone aplikacijo.
Kaj AI res dobro naredi
Zasloni in navigacija
Natančno opiši zaslon (kaj prikazuje, kaj naredi vsak gumb, kaj se zgodi, ko je seznam prazen), pa ti AI v nekaj sekundah vrne čisto komponento. Tu je prihranek najbolj spektakularen, posebej z React Native in Expo, ker je AI videla ogromno tovrstne kode. To je tudi sklad, ki ga uporabljam pri vseh svojih aplikacijah, zakaj, pa razložim na strani React Native in Expo za mobilno aplikacijo.
Preprosta poslovna logika
Izračun rezultata, razvrščanje seznama, oblikovanje datuma, preverjanje obrazca: AI to naredi hitro in kar dobro, če ji podaš robne primere. Prazen seznam, predolgo polje, datum v drugem časovnem pasu. Če jih ne navedeš, jih ne bo vedno obravnavala.
Razlaga tistega, česar ne razumeš
To je najbolj podcenjena uporaba. Prilepi sporočilo o napaki, kos konfiguracije ali Applovo zavrnitev in vprašaj »razloži mi, kaj to pomeni, brez popravljanja«. Naučiš se hitreje kot z branjem vadnice, ker se razlaga nanaša na tvoj lastni projekt.
Povezava z zaledjem
Ustvarjanje tabel v Supabase, pisanje funkcije, ki bere podatke prijavljenega uporabnika, upravljanje stanja nalaganja: AI ta orodja dobro pozna. Imej le oko na varnosti, o tem več spodaj.
Kaj AI spregleda, ko ustvarjaš iOS aplikacijo
To je del, ki ti ga nihče ne pokaže v videih »naredil sem aplikacijo v enem vikendu«. Vsaka od teh točk ti lahko objavo blokira za več dni, da ne omenjam samodejnih preverjanj ob pošiljanju, kot je ITMS-90338 za nejavne API-je.
Podpisovanje in certifikati
Da tvoja aplikacija teče na iPhonu in pride na App Store, mora biti podpisana s certifikatom in provisioning profilom, povezanima s tvojim računom Apple Developer. AI ti lahko razloži načelo, a brez odobrenega dostopa tvojega računa ne pozna. Včasih si izmisli korake, ki ne obstajajo več, ali pomeša postopek v Xcode in postopek v Expo, kar se lahko ob pošiljanju konča z ITMS-90034. Z EAS Build te datoteke ustvari in shrani orodje samo, vključno s push ključem: pusti mu to delo, namesto da slediš uganjenemu postopku.
Nastavitve v App Store Connect
Stran aplikacije, bundle identifier, izjave o zasebnosti, vprašanje o šifriranju, posnetki zaslona, povezave do pogojev uporabe: ti podatki se morajo ujemati z oddano različico. Nekateri agenti lahko delajo v prijavljenem brskalniku, na primer Claude Code s Chromom. Ta dostop mora biti odobren, rezultat pa preverjen; postopek, recitiran brez branja trenutnega vmesnika, je lahko zastarel.
Naročnine
Tu ti AI zapravi največ časa. Koda paywalla je preprosta. Težka je usklajenost treh mest: izdelkov, ustvarjenih v App Store Connect, njihove nastavitve v RevenueCat in kode, ki jih prikaže. Identifikator, ki se razlikuje za en znak, izdelek, ki še ni bil poslan v pregled skupaj z različico, in tvoj paywall se pri pregledovalcu prikaže prazen. AI lahko te konzole bere, če ji daš ustrezen dostop; brez njega ne more preveriti, ali se ujemajo s kodo. Celotno delo je opisano na strani naročnine v iOS aplikaciji.
Applov pregled
AI pozna glavne točke App Review Guidelines, ne zna pa pogledati tvoje aplikacije z očmi pregledovalca. Sama od sebe ti ne bo povedala, da je obvezen zaslon na majhnem iPhonu odrezan, da prošnja za oceno pride prezgodaj, da v opombah za pregled manjka demo račun ali da je tvoja aplikacija preveč podobna spletni strani za smernico 4.2. Prvi dve sta zavrnitvi, ki sem ju pri Solysu res dobil, opisani v članku zakaj Apple zavrne aplikacijo.
Sesutja na pravem iPhonu
Simulator in razvojna aplikacija marsikaj odpustita. Pravi iPhone v produkciji ne. Nativni modul, ki manjka v buildu, dovoljenje brez pojasnilnega besedila, prezgodnje branje podatkov ob zagonu: aplikacija se odpre in takoj zapre, brez sporočila. Agent lahko zažene teste ali analizira posnetke zaslona, a samo, če to omogoča postavitev za preverjanje. Rezultat iz simulatorja sam po sebi ne potrdi binarne datoteke, nameščene na tvojem iPhonu. Aplikacijo moraš pred vsakim pošiljanjem namestiti na telefon sam, in TestFlight je narejen prav za to.
AI piše kodo, ki je videti pravilna. Samo test na tvojem iPhonu ti pove, ali res je.
Kako AI usmerjati, da ostane koristna
Težava skoraj nikoli ni inteligenca modela. Težava je, kaj mu daš v branje.
Daj ji svoj kontekst, enkrat za vselej
V korenu projekta napiši kratko datoteko, ki opisuje tvoj sklad (Expo, različico SDK, Supabase, RevenueCat), strukturo map in tvoja pravila. Claude Code bere datoteko CLAUDE.md, Cursor ima svoje datoteke s pravili. Brez tega konteksta AI ugiba, in pogosto ugane drug sklad, ne tvojega. Moja vadnica za ustvarjanje aplikacije s Claude Code vsebuje celoten primer te datoteke.
Razdeli delo na majhne naloge
»Naredi mi aplikacijo za sledenje navadam z naročnino« ustvari ogromen in krhek projekt. »Naredi zaslon s seznamom današnjih navad, s praznim stanjem in stanjem nalaganja« ustvari zaslon, ki ga lahko pregledaš in preizkusiš v petih minutah. Ena naloga, en preverljiv rezultat, nato naslednja.
Pred kodo zahtevaj načrt
Za vse, kar zadeva več datotek, začni z »predlagaj načrt, ne programiraj še«. Načrt prebereš, popraviš, kar ni v redu, in šele nato zaženeš. Tako se izogneš nepričakovanim prenovam, ko AI za en gumb prepiše pol projekta.
Naj bere aktualno dokumentacijo
Orodja se hitro spreminjajo: Expo, RevenueCat in App Store Connect se redno posodabljajo. Ko se ti odgovor zdi sumljiv, prilepi uradno stran dokumentacije v pogovor ali uporabi orodje, ki ji jo poda. AI, ki bere današnjo dokumentacijo, se zmoti precej redkeje kot AI, ki se spominja tiste izpred dveh let.
Odločitve obdrži zase
AI predlaga, ti odločaš. Izbira ideje, cene, tega, česa aplikacija ne bo počela: to je tvoje delo. Če pustiš AI dodati vsako funkcijo, ki jo predlaga, dobiš aplikacijo, ki deset stvari dela povprečno, namesto ene zelo dobro. Za okvir prve različice preberi stran MVP iOS aplikacije.
Kako preveriti, kar ustvari AI
To je veščina, ki loči tiste, ki objavljajo, od tistih, ki kopičijo napol dokončane projekte.
Preberi vsako spremembo
Ni ti treba razumeti vsake vrstice. Moraš pa znati odgovoriti na tri vprašanja: katere datoteke so se spremenile, zakaj in ali to ustreza temu, kar sem zahteval. Če se je AI dotaknila datoteke, ki nima zveze s tvojo zahtevo, jo vprašaj zakaj, preden sprejmeš.
Testiraj na iPhonu, ne samo na računalniku
Aplikacijo čim prej namesti na svoj telefon, nato pa ob vsakem pomembnem koraku. Preveri prvi zagon po namestitvi, letalski način, majhen in velik zaslon ter odprto tipkovnico na obrazcih. To pravilo upoštevam pred vsakim pošiljanjem Applu, pri vsaki svoji aplikaciji.
Dodaj orodja, ki vidijo, česar ti ne vidiš
Pri mojih aplikacijah Sentry javlja sesutja z vrstico kode, ki jih povzroči, PostHog pa kaže, kje uporabniki odnehajo. Brez njih napaka v produkciji ostane nevidna, dokler ne pade slaba ocena. AI ti jih lahko pomaga namestiti; ti pa moraš gledati, kaj ti povedo.
Pazi na varnost podatkov
Ko AI ustvari tabele v Supabase, preveri, da so pravila dostopa (politike RLS) res aktivna: vsak uporabnik sme brati samo svoje podatke. Preveri tudi, da v kodi aplikacije, ki jo je mogoče dekompilirati, ni nobenega skrivnega ključa. To sta napaki, ki ju AI zlahka naredi, če ji ju ne prepoveš.
Postavi ji obratno vprašanje
Ko je koda napisana, vprašaj: »kaj se lahko tu pokvari?« ali »preberi to kodo kot Applov pregledovalec«. Isti model, ki je kodo napisal, pogosto najde svoje spregledane stvari, ko spremeniš zorni kot vprašanja. To ne nadomesti testa na iPhonu, zmanjša pa število krogov.
Realna pot za začetnika
- Izberi drobceno idejo: eno glavno funkcijo, ne deset.
- Namesti sklad, ki ga AI dobro pozna: Expo, React Native, Supabase, če potrebuješ račune.
- Gradi zaslon za zaslonom, z eno majhno nalogo na zahtevo in testom na vsakem koraku.
- Testiraj na iPhonu z razvojnim buildom, nato s TestFlightom.
- Priklopi denar: izdelki v App Store Connect, RevenueCat, paywall.
- Pripravi gradivo za App Store: stran aplikacije, posnetki zaslona, zasebnost, opombe za pregledovalca.
- Pošlji Applu, pozorno preberi odgovor in popravi, kar zahtevajo.
Vsak korak ima svoje pasti, AI pa ti pomaga pri polovici. Za celoten pregled stran ustvari iPhone aplikacijo podrobno opiše vso pot. Če pa se sprašuješ, kako daleč prideš, ne da bi sam napisal vrstico kode, preberi ustvari aplikacijo brez programiranja.
Ustvari svojo iOS aplikacijo z AI, vse do App Stora
AI je spremenila, kdo lahko ustvari iOS aplikacijo. Ni pa spremenila, kaj Apple zahteva za objavo, ne tega, kar je potrebno, da aplikacija zasluži prve naročnine. Prav ta del sem dal v iOS Kit: začetno kodo mojih aplikacij, vključno z naročninami, in Claude Code skille za vsak korak. Pot je podrobno opisana glede na tvoje orodje: tečaj Claude Code ali tečaj vibe codinga. Domača stran pokaže, kako na ta način korak za korakom ustvariti mobilno aplikacijo.
Ne veš, kaj te ovira, koda, AI ali Apple? Brezplačna diagnostika ti to pove in ti pošlje moj kontrolni seznam proti Applovim zavrnitvam.
Ne obljubljam ti ne zaslužka ne objave: o odobritvi odloča Apple, o vsem drugem trg. Kar ti dam, je metoda, ki jo sam uporabljam pri svojih aplikacijah.
Pogosta vprašanja
Ali lahko kot začetnik ustvarim iOS aplikacijo z AI?
Da. AI zelo dobro napiše zaslone, navigacijo, preprosto logiko in klice baze podatkov. Slabo ji gre vse, kar se dogaja zunaj kode. To so podpisovanje, App Store Connect, naročnine, Applov pregled in sesutja, ki se vidijo samo na pravem iPhonu.
Katero AI uporabiti za ustvarjanje iOS aplikacije?
Claude, ChatGPT ali Cursor zelo dobro napišejo zaslone, navigacijo in preprosto logiko. Težava skoraj nikoli ni inteligenca modela, ampak to, kar mu daš v branje. Daj mu svoj sklad, svoja pravila in aktualno dokumentacijo. V ločenem vodniku primerjam Claude Code, Cursor in ChatGPT za iPhone aplikacijo.
Ali lahko ChatGPT ustvari aplikacijo?
Za vidni del da: ChatGPT, tako kot Claude ali Cursor, zelo dobro napiše zaslone, navigacijo, preprosto logiko in klice baze podatkov. Toda brez odobrenega dostopa ne pozna tvojega Applovega računa in tvoje aplikacije ne gleda z očmi pregledovalca. Samo test na tvojem iPhonu ti pove, ali je koda pravilna.
Kako korak za korakom z AI ustvariti svojo aplikacijo?
Izberi drobceno idejo z eno samo glavno funkcijo. Namesti sklad, ki ga AI dobro pozna: Expo, React Native in Supabase, če potrebuješ račune. Gradi zaslon za zaslonom, z eno majhno nalogo na zahtevo in testom na vsakem koraku. Testiraj na iPhonu z razvojnim buildom in nato s TestFlightom, preden priklopiš denar, pripraviš gradivo za App Store in pošlješ Applu.
Kako preveriti kodo, ki jo napiše AI?
Preberi vsako spremembo: katere datoteke so se spremenile, zakaj in ali to ustreza tvoji zahtevi. Aplikacijo čim prej namesti na svoj iPhone, nato pa ob vsakem pomembnem koraku. Preveri, da so pravila dostopa v Supabase, politike RLS, aktivna. Preveri tudi, da v kodi aplikacije, ki jo je mogoče dekompilirati, ni nobenega skrivnega ključa.
Zakaj se paywall, ki ga je napisala AI, pri pregledovalcu prikaže prazen?
Koda paywalla je preprosta. Najtežja je usklajenost treh mest: izdelkov v App Store Connect, njihove nastavitve v RevenueCat in kode, ki jih prikaže. Identifikator, ki se razlikuje za en znak, ali izdelek, ki še ni bil poslan v pregled, izprazni paywall. Brez ustreznega dostopa do teh konzol AI te usklajenosti ne more preveriti.