Vývoj6 min čítania
iOS aplikácie priamo z iPhonu: vzdialený vývoj s Claude Code
Nastav si kompletný workflow na vzdialený vývoj pre iOS cez SSH, Tailscale a Claude Code – a vyvíjaj aplikácie odkiaľkoľvek, len s telefónom v ruke.
Čo keby si mohol vyvíjať iOS aplikácie v kaviarni, vo vlaku alebo na gauči – len s iPhonom? Notebook netreba. Stačí telefón, vzdialený Mac a Claude Code, ktorý odvedie tú ťažkú prácu.
Nie je to hypotetický workflow. Je to praktické nastavenie, ktoré ti zaberie asi 15 minút, a keď raz beží, môžeš programovať odkiaľkoľvek na svete. Takto vyvíjam a testujem ReelMeal, moju iPhone aplikáciu, ktorá z videí o varení na TikToku, Instagrame a YouTube robí recepty.
Architektúra
Základný cyklus je jednoduchý:
iPhone (SSH) → Claude Code na Macu → spustí sa build → aplikácia sa nainštaluje do zariadenia
Z terminálovej aplikácie v iPhone sa cez SSH pripojíš na Mac, vzdialene spustíš Claude Code a necháš ho buildovať a nasadzovať aplikácie priamo do telefónu, ktorý držíš v ruke. Všetko zvládne jedno zariadenie.
Čo budeš potrebovať
- Mac s nainštalovaným Xcode (tvoj stroj na buildy)
- iPhone s terminálovou aplikáciou
- Účet v Tailscale (stačí bezplatný plán)
- Asi 15 minút
Krok 1: Zapni SSH na Macu
Otvor System Settings → General → Sharing a zapni Remote Login.
Skontroluj, ktorí používatelia majú prístup – tvoj účet by mal byť v zozname. Tým povolíš SSH pripojenia k Macu.
Krok 2: Nainštaluj Tailscale na Mac
Stiahni si Tailscale z tailscale.com alebo z Mac App Store. Prihlás sa alebo si vytvor účet.
Tailscale pridelí tvojmu Macu:
- IP adresu v tvare
100.x.x.x - hostname v tvare
your-mac.tail1234.ts.net
Vznikne tak bezpečná virtuálna privátna sieť, ktorá funguje cez akúkoľvek fyzickú sieť – doma, v kancelárii, na mobilných dátach, kdekoľvek.
Krok 3: Nainštaluj Tailscale aj na iPhone
Stiahni si Tailscale z App Store a prihlás sa tým istým účtom.
Teraz sú obe zariadenia v jednej virtuálnej sieti bez ohľadu na to, kde sa fyzicky nachádzajú. iPhone sa k Macu dostane, či si na tej istej WiFi, alebo na druhom konci planéty.
Krok 4: Stiahni si terminálovú aplikáciu
Dve spoľahlivé možnosti:
Blink Shell (platená) – najlepší zážitok, podporuje Mosh pre nestabilné pripojenia, pôsobí natívne.
Termius (má aj bezplatný plán) – čisté UI, jednoduché nastavenie hostov, na väčšinu použití funguje dobre.
Krok 5: Nastav pripojenie
V aplikácii Termius:
- Ťukni na + → New Host
- Alias: čokoľvek chceš (napr. „Mac“)
- Hostname:
your-mac.tail1234.ts.net(alebo IP100.x.x.x) - Username: tvoje používateľské meno na Macu (zistíš ho príkazom
whoamiv Termináli na Macu) - Password: heslo, ktorým sa prihlasuješ do Macu
- Port: 22 (predvolený)
V aplikácii Blink:
- Choď do Settings → Hosts
- Pridaj hostname a username
- Ulož a potom v termináli napíš
ssh Mac
Dôležité: username je tvoje skutočné unixové používateľské meno (napríklad peter), nie zobrazovaný názov Macu (napríklad „Peter's MacBook Air“). Over si to príkazom whoami na Macu.
Krok 6: Oprav oprávnenia v macOS
Keď sa prvýkrát cez SSH pokúsiš otvoriť priečinky ako Documents alebo Desktop, pravdepodobne uvidíš „Operation not permitted“. Takto macOS chráni citlivé priečinky.
Riešenie:
- Otvor System Settings → Privacy & Security → Full Disk Access
- Klikni na tlačidlo +
- Stlač Cmd + Shift + G a napíš
/usr/libexec/sshd - Pridaj ho a zapni
- Znova sa pripoj cez SSH
Prípadne pracuj v nechránených priečinkoch ako ~/Developer alebo ~/Projects – tieto obmedzenia sa na ne nevzťahujú a na projekty s kódom sú aj tak vhodnejšie.
Krok 7: Spusti Claude Code
Keď si pripojený cez SSH:
claude
To je všetko. Claude Code ti teraz beží na Macu a ovládaš ho z iPhonu odkiaľkoľvek.
Pridaj si hlasový vstup
Písanie na klávesnici telefónu ťa rýchlo omrzí. Našťastie máš viac možností:
Vstavané diktovanie v iOS
Ťukni na ikonu mikrofónu na klávesnici a hovor. Text sa prepisuje priamo do terminálu. Nový riadok vložíš, keď povieš „new line“. Jednoduché a nič netreba nastavovať.
Aplikácie s Whisperom (presnejšie)
Ak chceš vyššiu presnosť, najmä pri technických výrazoch:
Aiko – bezplatná aplikácia, ktorá spúšťa model OpenAI Whisper lokálne. Nadiktuješ, necháš prepísať, skopíruješ a vložíš do terminálu.
Whisper Transcription – podobný prístup, výborne si poradí s programátorskou slovnou zásobou.
Vlastná iOS skratka + Whisper API – vytvor si skratku, ktorá nahrá zvuk, pošle ho do OpenAI Whisper API a skopíruje výsledok. Stojí asi 0,006 $ za minútu, ale je veľmi presná.
Workflow potom vyzerá takto: ťukneš na skratku → hovoríš → vložíš do terminálu. Pribudne jeden krok, ale presnosť je citeľne lepšia.
Cyklus build a deploy
Keď si pripojený cez SSH a Claude Code beží, môžeš ho nechať buildovať a nasadzovať aplikácie do telefónu. Celý trik je v OTA (Over-The-Air) inštalácii – Mac zbuilduje .ipa, ponúkne ho cez HTTPS a ty ho nainštaluješ ťuknutím na odkaz v Safari.
Bezdrôtové debugovanie pomocou devicectl cez Tailscale spoľahlivo nefunguje, pretože vyhľadávanie zariadení od Apple vyžaduje, aby boli v tej istej fyzickej sieti. Riešením je OTA.
Predpoklady
- Zapni v iPhone Developer Mode (Settings → Privacy & Security → Developer Mode)
- Over si, že je zariadenie zaregistrované v tvojom Apple Developer účte
Krok 1: Vytvor build skript
Vytvor si na Macu skript (napr. ~/scripts/ota-build.sh):
#!/bin/bash
# Konfigurácia – uprav tieto hodnoty
APP_NAME="YourApp"
SCHEME="YourApp"
PROJECT_DIR="$1"
BUNDLE_ID="com.yourcompany.yourapp"
OUTPUT_DIR="$HOME/OTAServer"
# Tailscale hostname tvojho Macu
TAILSCALE_HOST="your-mac.tail1234.ts.net"
PORT="8443"
# Vytvor výstupný adresár
mkdir -p "$OUTPUT_DIR"
cd "$PROJECT_DIR"
# Build archívu
xcodebuild -scheme "$SCHEME" \
-archivePath "$OUTPUT_DIR/$APP_NAME.xcarchive" \
-configuration Release \
archive
# Export IPA
xcodebuild -exportArchive \
-archivePath "$OUTPUT_DIR/$APP_NAME.xcarchive" \
-exportPath "$OUTPUT_DIR" \
-exportOptionsPlist "$OUTPUT_DIR/ExportOptions.plist"
# Vygeneruj manifest.plist so správnymi URL
cat > "$OUTPUT_DIR/manifest.plist" << EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>https://$TAILSCALE_HOST:$PORT/$APP_NAME.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>$BUNDLE_ID</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>$APP_NAME</string>
</dict>
</dict>
</array>
</dict>
</plist>
EOF
echo "Build dokončený!"
echo "Inštalačná URL: itms-services://?action=download-manifest&url=https://$TAILSCALE_HOST:$PORT/manifest.plist"
Pridaj mu právo na spúšťanie: chmod +x ~/scripts/ota-build.sh
Krok 2: Vytvor ExportOptions.plist
Tento súbor Xcode povie, ako má podpísať tvoju aplikáciu:
mkdir -p ~/OTAServer
cat > ~/OTAServer/ExportOptions.plist << 'EOF'
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>method</key>
<string>development</string>
<key>teamID</key>
<string>YOUR_TEAM_ID</string>
</dict>
</plist>
EOF
Nahraď YOUR_TEAM_ID svojím Apple Developer Team ID (nájdeš ho na developer.apple.com → Membership).
Krok 3: Nastav HTTPS server
iOS pri OTA inštaláciách vyžaduje HTTPS. S Tailscale je to jednoduché:
# Nainštaluj Caddy (jednoduchý HTTPS server)
brew install caddy
# Získaj Tailscale HTTPS certifikát
tailscale cert $(tailscale status --json | jq -r '.Self.DNSName' | sed 's/\.$//')
Spusti server:
cd ~/OTAServer
caddy file-server --listen :8443 --root . --browse
Nechaj ho bežať v samostatnej session terminálu (alebo použi tmux/screen).
Krok 4: Jednorazové nastavenie iPhonu
iPhone musí certifikátu dôverovať. Stačí to urobiť raz:
- Otvor v iPhone Safari
- Choď na
https://your-mac.tail1234.ts.net:8443/(tvoj Tailscale hostname) - Ak sa zobrazí upozornenie na certifikát, možno ho budeš musieť nainštalovať:
- Stiahni certifikát
- Choď do Settings → General → VPN & Device Management
- Nainštaluj profil
- Choď do Settings → General → About → Certificate Trust Settings
- Zapni pre certifikát úplnú dôveru
Krok 5: Nainštaluj aplikáciu
Po dokončení buildu otvor v iPhone Safari a choď na:
itms-services://?action=download-manifest&url=https://your-mac.tail1234.ts.net:8443/manifest.plist
Safari ti ponúkne inštaláciu aplikácie. Ťukni na Install a aplikácia sa objaví na ploche.
Automatizácia s Claude Code
Keď to máš nastavené, povedz Claudovi, nech spustí build skript:
Zbuilduj a nasaď aplikáciu pomocou ~/scripts/ota-build.sh
Claude skript spustí a ty dostaneš inštalačnú URL. Otvor ju v Safari, ťukni na Install a hotovo.
Celý workflow
Keď je všetko pripravené:
- Otvor v iPhone Termius
- Pripoj sa cez Tailscale k Macu
- Spusti
claude - Opíš, čo chceš vytvoriť (pokojne to nadiktuj)
- Claude napíše kód a zbuilduje projekt
- Nový build sa objaví v telefóne
- Prepni do aplikácie, otestuj, prepni späť a pokračuj
Teraz vyvíjaš pre iOS z telefónu. Mac slúži len ako vzdialený build server.
Tipy, aby všetko išlo hladko
Namiesto SSH použi Mosh – ak máš nestabilné pripojenie (mobilné dáta, slabá WiFi), Mosh si s výpadkami poradí bez problémov. Blink ho podporuje natívne.
Nenechaj Mac zaspať – vypni uspávanie v nastaveniach Energy Saver alebo použi nástroj ako Amphetamine, ktorý ho udrží v chode.
Nastav si SSH kľúče – s prihlasovaním cez kľúče nebudeš musieť zakaždým zadávať heslo.
Používaj vyhradený priečinok na projekty – drž kód v ~/Developer alebo podobnom priečinku a vyhneš sa problémom s oprávneniami.
Kedy to dáva zmysel
Tento workflow sa oplatí najmä vtedy, keď:
- máš voľnú chvíľu mimo pracovného stola (dochádzanie, cestovanie, čakárne)
- chceš rýchlo skúšať nápady a nechce sa ti vyťahovať notebook
- potrebuješ odkiaľkoľvek pushnúť rýchlu opravu
- radšej diktuješ zmeny v kóde, než by si ich písal
Sústredenú prácu za stolom to nenahradí. Ale na chvíle, keď nie si pri svojom pracovnom počítači a chceš sa pohnúť ďalej, to zvládne prekvapivo veľa.
Záver
Bariéra medzi „potrebujem notebook“ a „môžem pracovať odkiaľkoľvek“ je nižšia, než si väčšina vývojárov uvedomuje. Terminálová aplikácia, Tailscale a Claude Code urobia z telefónu rozhranie, v ktorom sa dá naozaj vyvíjať.
Nastavenie zaberie 15 minút. Slúžiť ti bude navždy.
Vyskúšaj to cestou do práce. Možno ťa prekvapí, koľko toho dokážeš vytvoriť na 6-palcovej obrazovke.