# Sovellus Claude Codella: iPhone-sovelluksen opas

> Asenna Claude Code, luo Expo-projekti, kirjoita CLAUDE.md, promptaa näkymä kerrallaan ja lähetä TestFlightiin EAS:llä: koko opas.

Alkuperäinen sivu: [Sovellus Claude Codella: iPhone-sovelluksen opas](https://devoria.fr/fi/blog/sovellus-claude-code-iphone-opas)
Kirjoittaja: [Mehdi Azizi](https://devoria.fr/fi/mehdi-azizi)
Julkaistu: 2026-09-23
Sisältö tarkistettu viimeksi: 2026-10-09


## Sovelluksen tekeminen Claude Codella: lyhyt vastaus

Jotta voit tehdä sovelluksen Claude Codella, tarvitset maksullisen pääsyn Claude Codeen (yhteensopiva tilaus tai käyttöön perustuva Console), Node.js:n, iPhonen, jossa on Expo Go, sekä Expo-projektin. Kirjoitat `CLAUDE.md`-tiedoston, joka kuvaa teknologiapinosi ja sääntösi, pyydät yhden näkymän kerrallaan, testaat jokaisen näkymän iPhonellasi ja lähetät lopuksi sovelluksen TestFlightiin EAS:llä.

Tämä opas täydentää ohjettani [iOS-sovelluksen tekeminen tekoälyllä](https://devoria.fr/fi/blog/ios-sovellus-tekoalylla-sudenkuopat-tarkistukset), joka kertoo, missä tekoäly onnistuu ja missä se epäonnistuu. Tässä mennään käytäntöön: komennot, tiedostot, promptit.

Koodaan iOS-sovellukseni Claude Codella ja Cursorilla joka päivä. Pinoni: React Native, Expo, EAS, RevenueCat ja Supabase. Solys, minipelejä sisältävä herätyskello, ja TradaZen, kaupankäynnin harjoittelusovellus, on julkaistu App Storessa. Apple hylkäsi Noleran ja Clicin, ja ne korjattiin sen jälkeen. Kaikki alla oleva perustuu tähän työhön.

Jos haluat nähdä menetelmän käytössä julkaistussa sovelluksessa, dokumentoin [TradaZenin polun ensimmäisestä commitista Applen hylkäyksiin ja suunnanmuutoksiin](https://devoria.fr/fi/blog/tradazen-tapaustutkimus-iphone-sovelluksen-julkaisu). Tämä kokemus täydentää oppaan vaiheita.

## Vaihe 1: kerää esivaatimukset

Ennen ensimmäistä komentoa tarkista, että sinulla on kaikki tämä.

### Maksullinen Claude-tili

Claude Code ei sisälly claude.ai:n ilmaiseen versioon. [Anthropicin dokumentaation mukaan](https://code.claude.com/docs/en/setup) tarvitset Pro-, Max-, Team-, Enterprise- tai Console-tilin. Pro-tilauksella pääset alkuun sen käyttörajojen puitteissa.

### Node.js ja pääte

Expo vaatii [Node.js:n LTS-version](https://docs.expo.dev/get-started/create-a-project/) macOS:llä, Windowsilla tai Linuxilla. Claude Code toimii macOS 13:lla tai uudemmalla, Windows 10:llä tai uudemmalla ja yleisimmillä Linux-jakeluilla.

### iPhone ja Expo Go

Asenna Expo Go App Storesta iPhonellesi, niin voit kokeilla ensimmäisiä näkymiäsi kääntämättä omaa sovellustasi. Ennen projektin luomista [tarkista asennukseesi sopiva SDK-versio Expo Go -sivulta](https://expo.dev/go). Uusin SDK ja App Storessa jaettava versio eivät aina ole saatavilla samaan aikaan: Expo on dokumentoinut esimerkiksi [tämän viiveen toukokuussa 2026](https://expo.dev/changelog/expo-go-and-app-store-may-2026). Älä siis lähde liikkeelle vanhasta oppaasta löytyneestä versionumerosta. Jos haluat käyttää omia natiivimoduulejasi, varaudu tekemään kehitysbuildi.

### Mac? Ei pakollinen

iOS-buildit käännetään Expon palvelimilla EAS Buildilla, sillä Xcode-versiolla, jonka Expo-SDK:si valitsee (ITMS-90725), ja [EAS Submit toimii macOS:llä, Linuxilla ja Windowsilla](https://docs.expo.dev/submit/ios/). Pääset siis TestFlightiin asti PC:ltä. Ohje [iOS-sovelluksen julkaiseminen ilman Macia](https://devoria.fr/fi/blog/ios-sovellus-julkaisu-ilman-macia-expo-eas) käy tämän ketjun läpi yksityiskohtaisesti.

### Apple Developer -tili, myöhemmin

Et tarvitse sitä koodaamiseen etkä testaamiseen App Storen Expo Gossa. Se tulee pakolliseksi, kun lähetät sovelluksesi TestFlightiin. Palataan tähän vaiheessa 7.

## Vaihe 2: asenna Claude Code

macOS:llä, Linuxilla tai WSL:ssä Anthropicin suosittelema tapa on natiivi asennusohjelma:

```bash
curl -fsSL https://claude.ai/install.sh | bash
```

Windowsilla PowerShellissä:

```powershell
irm https://claude.ai/install.ps1 | iex
```

Tarkista sitten, että asennus onnistui:

```bash
claude --version
```

Jos käytät mieluummin npm:ää, komento on `npm install -g @anthropic-ai/claude-code`. Älä laita eteen `sudo`a, dokumentaatio kieltää sen nimenomaisesti.

Kun käynnistät `claude`n ensimmäisen kerran, selain avautuu, jotta voit kirjautua tilillesi. Sen jälkeen kirjoitat suomeksi: Claude lukee tiedostosi, ehdottaa muutoksia ja ajaa komentoja sinun luvallasi.

## Vaihe 3: luo Expo-projekti

Siirry kansioon, jossa säilytät projektejasi, ja aja:

```bash
npx create-expo-app@latest my-app
cd my-app
npx expo start
```

Jos työkalu pyytää valitsemaan App Storen Expo Go -yhteensopivuuden ja uusimman SDK:n välillä, valitse tässä harjoituksessa yhteensopivuus. Tarkista joka tapauksessa ennen jatkamista, että luotu versio on tuettu iPhonellesi asennetussa Expo Gossa. Kehitysbuildin voit tehdä sitten, kun projektisi tarvitsee sitä.

Päätteeseen ilmestyy QR-koodi. Skannaa se iPhonesi kameralla: sovellus avautuu Expo Gossa. Yksi asia jumittaa usein ensimmäisellä kerralla: [Expo Go avaa projektisi vain, jos Expo CLI ja Expo Go on kirjattu samalle Expo-tilille](https://docs.expo.dev/get-started/start-developing/). Aja tietokoneellasi `npx expo login` ja kirjaudu sovelluksessa samalla tilillä.

Miksi Expo eikä Swift? Claude tuntee React Nativen erittäin hyvin, ja voit testata ilman Macia. Selitän valinnan sivulla [React Native ja Expo mobiilisovellukseen](https://devoria.fr/fi/expertise/react-native-mobiilikehittaja-expo).

Muista yksi Expo Gon rajoitus: siinä on vain ne natiivimoduulit, jotka se jo sisältää. Heti kun lisäät natiivikirjaston, jota se ei tunne, esimerkiksi sovelluksen sisäiset ostot, tarvitset kehitysbuildin. Ensimmäisille näkymille se ei ole ongelma.

### Valitse oikea testiympäristö

Expo Go, kehitysbuildi ja TestFlight eivät todista samaa asiaa. [Expo kuvaa kehitysbuildin](https://docs.expo.dev/develop/development-builds/introduction/) omaksi testisovellukseksesi, jossa on projektisi tarvitsemat natiivimoduulit.

| Mitä haluat tarkistaa                                             | Missä testaat                                                | Testin rajat                                    |
| ----------------------------------------------------------------- | ------------------------------------------------------------ | ----------------------------------------------- |
| Ensimmäisen näkymän näyttäminen ja navigoinnin kokeilu            | Expo Go yhteensopivalla SDK:lla                              | Expo Gosta puuttuvien natiivimoduulien toiminta |
| Projektiin lisätyn natiivikirjaston käyttö                        | Kehitysbuildi, joka sisältää kirjaston                       | Jaettava versio ja sen hyväksyntä Applella      |
| Testaajille tarkoitetun sovelluksen läpikäynti ja ostojen testaus | TestFlightiin lähetetty buildi ja oikein määritetyt tuotteet | Asiakkaan oikea maksu tai myyntiin hyväksyminen |

Ennen kuin lisäät riippuvuuden, kysy Claudelta: "Onko se yhteensopiva SDK:ni ja nykyisen testiympäristöni kanssa? Pitääkö sovellus kääntää uudelleen? Perustele vastauksesi dokumentaatiolla." Näin et tuhlaa iltaa korjaamalla moduulia, jota Expo Go ei yksinkertaisesti pysty lataamaan, tai SDK:ta, joka hylätään lähetyksessä ei-julkisen API:n takia.

## Vaihe 4: kirjoita projektin CLAUDE.md-tiedosto

Tämä vaihe maksaa itsensä takaisin parhaiten. Claude Code voi säilyttää projektimuistin, mutta sinun pitää kirjoittaa sen säännöt auki. Projektin juureen sijoitettu `CLAUDE.md`-tiedosto antaa yhteiset ohjeet kaikille istunnoille. Sinne kirjoitat sen, mitä Claude ei voi arvata.

Aja projektikansiossa `claude` ja kirjoita sitten `/init`. [Dokumentaation mukaan](https://code.claude.com/docs/en/memory) Claude analysoi projektin ja luo ensimmäisen `CLAUDE.md`:n löytämistään komennoista ja käytännöistä. Täydennät sitä sen jälkeen omilla säännöilläsi. Anthropic suosittelee pysymään alle 200 rivin: mitä pidempi tiedosto, sitä huonommin ohjeita noudatetaan.

Tässä lyhyt esimerkki, joka on lähellä omaani:

```markdown
# Oma sovellus

## Pino

- Expo (create-expo-appin SDK), React Native, tiukka TypeScript
- Navigointi: Expo Router, yksi tiedosto per näkymä kansiossa app/
- Data: Supabase (myöhemmin), ei koskaan salaista avainta sovelluksessa

## Säännöt

- Yksi näkymä kerrallaan. Älä koske pyynnön ulkopuolisiin tiedostoihin.
- Ei kiinteitä korkeuksia pisteinä: koot suhteessa näyttöön,
  ScrollView, jos sisältö voi ylittää näytön.
- Jokainen näkymä hoitaa 3 tilaa: lataus, tyhjä, virhe.
- Käyttöliittymän tekstit suomeksi, ääkköset mukana.
- Ennen kuin koodaat yli 2 tiedostoa: ehdota suunnitelmaa ja odota hyväksyntääni.

## Komennot

- Käynnistys: npx expo start
- Testit: käytä package.jsonissa oikeasti olevaa skriptiä.
  Jos sitä ei vielä ole, kerro siitä; älä ilmoita testien menneen läpi.
- Tyypit: npx tsc --noEmit
- Jokaisen muutoksen jälkeen: aja testit ja tyypit, kerro sitten
  mikä muuttui ja miten sen voi tarkistaa iPhonella.
```

Kiinteitä korkeuksia koskeva sääntö ei ole siellä sattumalta. Palataan siihen vaiheessa 6.

## Vaihe 5: promptaa yksi näkymä kerrallaan

"Tee minulle tapaseurantasovellus tilauksella" tuottaa valtavan, hauraan projektin, jota on mahdoton lukea läpi. Toimiva menetelmä on päinvastainen: yksi pyyntö, yksi näkymä, yksi tulos, jonka voit testata viidessä minuutissa.

### Aloita suunnitelmasta

Kaikessa, mikä koskee useampaa tiedostoa, siirry suunnittelutilaan. Paina `Shift+Tab`, kunnes tilapalkissa näkyy `plan mode on`. [Tässä tilassa](https://code.claude.com/docs/en/common-workflows) Claude lukee tiedostot ja ehdottaa suunnitelmaa, mutta ei muuta mitään ennen hyväksyntääsi. Luet, korjaat ja hyväksyt.

Ensimmäinen rajaava prompti näyttää tältä:

```text
Haluan tapaseurantasovelluksen. Versio 1: vain yksi toiminto,
päivän tapojen merkitseminen tehdyiksi. Ehdota näkymien luettelo ja
kansiorakenne. Älä koodaa vielä mitään.
```

### Kuvaa näkymä, sen tilat ja rajatapaukset

Sen jälkeen yksi prompti per näkymä. Mitä enemmän rajatapauksia nimeät, sitä harvemmin Claude unohtaa ne:

```text
Luo näkymä app/index.tsx, joka listaa päivän tavat.
- Jokainen rivi: tavan nimi, valintaruutu, käynnissä oleva putki.
- Tyhjä tila: teksti ja painike "Lisää tapa".
- Lataustila ja virhetila, jossa painike "Yritä uudelleen".
- Data tulee toistaiseksi paikallisesta taulukosta.
- Pitää mahtua sekä iPhone SE:hen että suurimpaan iPhoneen:
  ei kiinteää korkeutta, lista vierittyy.
Aja lopuksi testit ja tyypit.
```

### Korjaa ilman, että kaikki kirjoitetaan uudelleen

Kun jokin yksityiskohta ei toimi, ole tarkka ja rajaa muutosalue:

```text
iPhonellani "Lisää tapa" -painike jää alapalkin alle, kun lista on
pitkä. Korjaa vain tämä ongelma tiedostossa app/index.tsx, koskematta
muihin tiedostoihin. Selitä syy.
```

Voit myös liittää kuvakaappauksen päätteeseen: Claude lukee sen.

## Harjoitus: tapa, joka pysyy merkittynä uudelleenkäynnistyksen jälkeen

Tämä on opetusharjoitus, jonka teet omassa projektissasi, ei kuvaus jo valmiista ominaisuudesta. Tavoite on siirtyä generoidusta näkymästä toimintaan, jonka voi tarkistaa. Se ei vaadi käyttäjätiliä eikä sovelluksen sisäistä ostoa.

1. Pidä vain yksi paikallinen tapa nimeltä "Lue 10 minuuttia".
2. Pyydä valintaruutu ja Expo-projektiisi sopiva paikallinen tallennus.
3. Pyydä agenttia kertomaan muutetut tiedostot, mahdollinen riippuvuus ja oikeasti ajetut komennot.
4. Asenna tai avaa sovelluksesi iPhonella ja tee alla olevat tarkistukset.

```text
Tee olemassa olevasta näkymästä lähtien tavasta "Lue 10 minuuttia"
merkittävä ja säilytä sen tila, kun sovellus suljetaan ja avataan uudelleen.
Käytä paikallista tallennusta, joka sopii projektin riippuvuuksiin.
Älä luo tiliä, palvelinta, tilausta äläkä ylimääräisiä tilastoja.
Ennen koodaamista selitä, miten hoidat latauksen sekä luku- tai
tallennusvirheen. Tee sitten rajattu muutos.
Lopuksi: muutetut tiedostot, ajetut komennot, testaamattomat rajat
ja tarkat vaiheet tuloksen tarkistamiseen iPhonella.
```

| Toiminto iPhonellasi                       | Odotettu tulos                                 | Jos se epäonnistuu                                             |
| ------------------------------------------ | ---------------------------------------------- | -------------------------------------------------------------- |
| Avaa sovellus ensimmäistä kertaa           | Tapa ja sen ruutu näkyvät ilman virhettä       | Tarkista alkutila ja tallennuksen lataus                       |
| Merkitse, sulje ja avaa sovellus uudelleen | Tapa pysyy merkittynä                          | Tarkista saman avaimen kirjoitus ja sitten luku                |
| Poista merkintä ja käynnistä uudelleen     | Tapa pysyy merkitsemättömänä                   | Tarkista, että myös arvo `false` tallennetaan                  |
| Toista sama lentokonetilassa               | Paikallinen toiminto on edelleen käytettävissä | Etsi ilman syytä lisätty verkkoriippuvuus                      |
| Suurenna tekstikokoa                       | Nimi ja säädin pysyvät käytettävissä           | Poista rajoitteet, jotka katkaisevat tai piilottavat toiminnon |

Älä pyydä "kirjoita kaikki uudelleen", jos yksi rivi epäonnistuu. Kuvaa toiminto, odotettu tulos ja havaittu tulos. Esimerkiksi: "Uudelleenkäynnistyksen jälkeen ruutu on taas tyhjä, vaikka merkitsin sen. Selitä syy ja korjaa tallennus muuttamatta ulkoasua."

[Lataa CLAUDE.md-malli ja tarkistuslista (.md)](https://devoria.fr/ressources/claude-md-premiere-app-ios.md). Avaa se editorissasi tai muistiinpanosovelluksessa. Sovita komennot projektiisi ennen kuin annat sen agentille.

## Vaihe 6: tarkistuta ja testaa

Claude Code kirjoittaa koodia, joka näyttää oikealta. Vain testisi ja iPhonesi kertovat, onko se oikein.

### Testit, jotta toimiva ei hajoa

Mitä isommaksi sovelluksesi kasvaa, sitä todennäköisemmin jokainen pyyntö rikkoo jo hyväksytyn näkymän. Expon luomassa projektissa ei ole testejä: pyydä Claudea ensin asentamaan Jest ja `jest-expo`, kuten Expon dokumentaatio suosittelee. Pyydä sitten testit tärkeälle logiikalle (putken laskeminen, lomakkeen validointi) ja anna ajaa ne jokaisen muutoksen jälkeen. Siksi testikomennot on kirjoitettu `CLAUDE.md`:hen: Claude ajaa ne ilman, että sinun tarvitsee muistuttaa. Sääntötiedoston ja testien kanssa tekoäly rikkoo paljon harvemmin jo toiminutta.

### Lue jokainen muutos

Sinun ei tarvitse ymmärtää jokaista riviä. Sinun pitää tietää, mitkä tiedostot muuttuivat ja miksi. Jos Claude koski aiheeseen kuulumattomaan tiedostoon, kysy syy ennen hyväksymistä. Kysy sitten: "mikä tässä voi hajota?".

### Tarkista pienellä ja isolla iPhonella

Tämä opetus tuli minulle kalleimmaksi. Apple hylkäsi Solysin ohjeen 2.1 perusteella: perehdytyksen demoa oli mahdotonta voittaa iPad Airilla, jossa sovellus pyöri iPhone-yhteensopivuustilassa. Syy: korkeudet oli koodattu kiinteinä pisteinä, ei suhteessa näytön kokoon. Omalla iPhonellani kaikki toimi. Koodi oli tarkistettu, testit olivat vihreinä. Mikään työkalu ei ollut katsonut näyttöä toisessa koossa.

Siitä lähtien olen tarkistanut jokaisen näkymän vähintään pienimmällä ja suurimmalla iPhonella. Jos sinulla on vain yksi puhelin, Macin Xcode-simulaattori tai kaveri, jolla on eri malli, ajaa asian. Katso erityisesti pitkiä tekstejä, lomakkeiden avointa näppäimistöä ja alareunaan kiinnitettyjä painikkeita.

## Missä Claude Code on huono

Claude Code loistaa näkymissä ja logiikassa. Kansiosi ulkopuolella se on paljon epäluotettavampi.

### Allekirjoitus ja varmenteet

Ilman valtuutettua yhteyttä Apple-tiliisi Claude ei tiedä sen tilaa. Se voi keksiä varmennemenettelyn, joka sekoittaa Xcoden ja Expon. Anna EAS:n hoitaa allekirjoitus: [Expon dokumentaatio](https://docs.expo.dev/build/setup/) kertoo, että EAS CLI voi luoda ja tallentaa nämä tiedostot puolestasi, kun olet kirjautunut Apple Developer -tilillesi.

### App Store Connect

Sovellussivu, tietosuojailmoitukset, [kuvakaappaukset](https://devoria.fr/fi/kits/captures-app-store) ja juridiset linkit ovat tietoja, jotka pitää tarkistaa App Store Connectissa. Claude Code voi nykyään toimia kirjautuneessa selaimessa [Chrome-integraationsa](https://code.claude.com/docs/en/chrome) kautta, kun sillä on tarvittavat oikeudet. Se ei takaa, että kentät ovat oikein: lue tiedot läpi, tarkista käytetyt tilit ja hyväksy sitoumukset ja tarkistukseen lähettäminen itse.

### Tilaukset

Paywallin kirjoittaminen vie kymmenen minuuttia. App Store Connectin tuotteiden, niiden RevenueCat-määritysten ja koodin saaminen yhteen on eri juttu. Yhdellä merkillä eroava tunniste, ja paywall jää tarkastajalla tyhjäksi. Yleisimmät sudenkuopat on listattu artikkelissa [aloittelijoiden iOS-paywall-virheet](https://devoria.fr/fi/blog/ios-paywall-aloittelijan-virheet-myynti).

### Rajatapaukset

Ilman ohjetta Claude käsittelee vain normaalitapauksen. Ei verkkoa, tyhjä lista, keskeytynyt osto: nämä sinun pitää nimetä.

### Supabasen tietoturva

Kun Claude luo tauluja Supabaseen, tarkista, että rivitason suojaus (RLS) on päällä ja käytännöt rajaavat jokaisen käyttäjän omiin tietoihinsa. Tarkista myös, ettei sovelluksen koodiin päädy salaista avainta. Kirjoita nämä kaksi kieltoa `CLAUDE.md`:hen heti, kun kytket tietokannan.

## Vaihe 7: siirry TestFlightiin EAS:llä

Näkymäsi on tarkistettu Expo Gossa tai kehitysbuildissa käytettyjen moduulien mukaan. Siirry nyt buildiin, joka jaetaan testaajille.

### Valmistele EAS

Nyt tarvitset [maksullisen Apple Developer -tilin](https://devoria.fr/fi/blog/apple-kehittajatili-hinta-ilmainen): [kuten Expo muistuttaa](https://docs.expo.dev/submit/ios/), se on pakollinen sovelluksen lähettämiseen App Storeen. Asenna sitten Expon työkalu ja määritä projekti:

```bash
npm install --global eas-cli
eas login
eas build:configure
```

Lisää yksilöllinen bundle-tunniste tiedostoon `app.json` kohtaan `ios.bundleIdentifier`, esimerkiksi `com.yourname.myapp`.

### Käännä ja lähetä

```bash
eas build --platform ios --profile production
eas submit --platform ios
```

Ensimmäinen komento kääntää sovelluksen Expon palvelimilla. Ensimmäisellä kerralla EAS tarjoutuu kirjautumaan Apple-tilillesi varmenteiden luomista varten. Toinen lähettää buildin App Store Connectiin. Voit myös tehdä kaiken kerralla komennolla `eas build --platform ios --auto-submit`.

Applen pitää käsitellä buildi ennen kuin se näkyy TestFlightissa, ja käsittely voi hylätä sen, esimerkiksi virheellä ITMS-90717 läpinäkyvän kuvakkeen takia. Onnistunut lähetys ei siis tarkoita, että buildi on jo asennettavissa: tarkista sen tila App Store Connectissa. Sisäiset ja ulkoiset testaajat sekä beetatarkistus selitetään ohjeessani [TestFlight iPhone-sovelluksen testaamiseen](https://devoria.fr/fi/blog/testflight-testaa-iphone-sovellus-ennen-lahetysta).

Tee vaiheen 6 tarkistukset uudelleen tällä buildilla. Expo Gossa toimiva sovellus voi silti kaatua tuotannossa, esimerkiksi kun natiivimoduuli puuttuu.

## Paljonko se oikeasti maksaa

Tässä palveluiden ilmoittamat hinnat dollareina, tarkistettu 27. syyskuuta 2026. Laskutettu summa riippuu myös alueestasi, veroista ja käytöstäsi: tarkista tarjous ennen tilaamista.

- **Claude-tilaus**: [Pro maksaa 20 $ kuukaudessa](https://claude.com/pricing), tai 17 $ kuukaudessa vuosimaksulla. Max-tilaukset alkavat 100 $:sta kuukaudessa, enempää käyttöä varten.
- **Apple Developer -tili**: [99 $ vuodessa](https://developer.apple.com/programs/), pakollinen TestFlightiin ja App Storeen.
- **EAS**: [Expon ilmaiseen versioon](https://expo.dev/pricing) sisältyy 15 iOS-buildia kuukaudessa matalan prioriteetin jonossa. Starter maksaa 19 $ kuukaudessa, plus lisäkäyttö.

Pieneen prototyyppiin Pro ja EAS:n ilmaisversio voivat riittää pohjaksi, jos pysyt niiden kiintiöissä. Lisää Apple-tili ennen TestFlightia ja laske sitten erikseen oikeasti tarvittavat palvelut: tietokanta, tallennustila tai maksullinen API. [Ensimmäisen sovelluksen budjettipohja](https://devoria.fr/ressources/budget-premiere-app-ios.csv) auttaa jäsentämään nämä kulut. Myös asetuksiin ja tarkistuksiin kuluva aikasi pitää ottaa huomioon.

## Rehelliset rajat ja missä jumitutaan

Claude Code on muuttanut sitä, kuka voi tehdä iPhone-sovelluksen. Se ei ole muuttanut sitä, mitä Apple vaatii julkaisulta. Hylkäys tulee nopeasti: Solys sai niitä, samoin Nolera ja Clic. Yleisimmät syyt kerron artikkelissa [miksi Apple hylkää sovelluksen](https://devoria.fr/fi/blog/apple-hylkasi-sovelluksen-syyt).

Tällä oppaalla pääset yksin TestFlightiin asti. Useimmiten jumitutaan vasta sen jälkeen: tilausten kytkeminen, aineiston valmistelu tarkastajalle, hylkäyksen ymmärtäminen. Koko polun yleiskuvan saat sivulta [iPhone-sovelluksen tekeminen](https://devoria.fr/fi/expertise/tee-iphone-sovellus).

Tähän osaan [iOS Kit](https://devoria.fr/fi/kits/ios) kokoaa sovellusteni aloituskoodin tilauksineen, jokaisen vaiheen Claude Code -skillit ja [Apple Review Kitin](https://devoria.fr/fi/kits/review-apple). Koko polku on sivulla [Claude Code -koulutus iOS-sovelluksen tekemiseen](https://devoria.fr/fi/expertise/claude-code-koulutus-ios-sovellus).

Jumitatko jo etkä tiedä mihin? [Ilmainen diagnoosi](https://devoria.fr/fi/diagnostic) kertoo, mikä sinua oikeasti jarruttaa, ja lähettää sinulle Applen hylkäyksiä ehkäisevän tarkistuslistani.

## Usein kysytyt kysymykset

### Voiko iPhone-sovelluksen tehdä Claude Codella osaamatta koodata?

Näkymien ja yksinkertaisen logiikan osalta kyllä, jos luet ja testaat jokaisen vaiheen. Ei, jos toivot, ettei sinun tarvitse ymmärtää mitään. Sinun pitää osata lukea virheilmoitus, ajaa komento ja tarkistaa, mitä Claude muutti. Sen oppii nopeasti rakentamalla.

### Onko Claude Code ilmainen?

Ei. Claude Code vaatii Pro-, Max-, Team-, Enterprise- tai Console-tilin. claude.ai:n ilmaisversio ei sisällä sitä. Pro-tilauksella pääset alkuun, mutta käyttörajoja pitää seurata.

### Tarvitaanko Mac iOS-sovelluksen tekemiseen Claude Codella?

Ei. Koodaat millä tahansa tietokoneella, testaat Expo Gossa iPhonellasi, ja EAS kääntää ja lähettää sovelluksen Expon palvelimilla. Mac on edelleen kätevä simulaattorin takia, mutta se ei ole pakollinen.

### Claude Code vai Cursor React Native -sovellukseen?

Käytän molempia joka päivä. Claude Code toimii päätteessä ja ketjuttaa itse muutokset ja testit. Cursor on editori. Menetelmä on tärkeämpi kuin työkalu: säännöt, yksi näkymä kerrallaan, testit.

### Kauanko ensimmäisen sovelluksen julkaiseminen Claude Codella kestää?

Se riippuu sovelluksen koosta ja ajastasi. Yhden toiminnon sovellus valmistuu paljon nopeammin. Arvaamattomin osa on edelleen Applen tarkistus.

### Voiko Claude Code määrittää sovelluksen sisäiset tilaukset?

Se voi kirjoittaa paywallin ja RevenueCatin koodin. Kytkettyjen työkalujen ja tarvittavien oikeuksien avulla se voi toimia myös konsoleissa. Älä koskaan päättele koodin olemassaolosta, että tuotteet on määritetty: tarkista tunnisteet, hinnat ja oikeudet oston jälkeen, ja testaa sitten osto ja palautus TestFlightissa. [iOS-paywallien yleiset virheet](https://devoria.fr/fi/blog/ios-paywall-aloittelijan-virheet-myynti) kertovat, mitä kohtia pitää tarkistaa.


## Projektisi

[iOS Kit](https://devoria.fr/fi/kits/ios): Tee iPhone-appisi Claude Coden avulla: omien appieni aloituskoodi, työn tarkistavat skillit sekä Apple Review Kit, App Store Screenshots Kit ja ASO Kit. 129,99 €.
