Magic Deploy
Where do you want to deploy?
Pick your target. LingCode handles the build, signing, and upload — each guide shows the exact one-time setup you'll do on the platform's side.
For iOS & Mac apps
Three ways to ship to App Store — pick what fits your workflow.
LingCode doesn't replace Xcode — it sits next to it. Use whichever combination matches the day you're having.
1. Xcode classic
Archive in Xcode → Window → Organizer → Distribute App. The path you already know. LingCode stays out of the way; your .xcodeproj works exactly as before.
2. LingCode end-to-end
One button. LingCode runs preflight checks, bumps the build number, archives with xcodebuild, signs, and uploads to App Store Connect via your .p8 API key. Setup once, deploy in 30 seconds after.
3. Hybrid
Let LingCode build & sign the .xcarchive; open Xcode Organizer to hand-tune the export options or upload manually. Great when you want LingCode's preflight + auto-bump but Xcode's familiar upload dialog.
Either way, you still need Xcode installed — LingCode shells out to xcodebuild. The choice is who drives the upload step.
App Store (iOS + macOS)
Archive, export, and upload to App Store Connect with an API key. Platform is auto-detected from your Xcode scheme. Auto-bump build number, preflight checks for Xcode + signing cert, clickable fix links when something's wrong.
Google Play (Android)
Build a signed AAB with ./gradlew bundleRelease and upload via the Play Developer API. Remote preflight verifies access before gradle runs, so auth failures surface in one second instead of two minutes.
Web platforms
One-click deploy to Vercel, Netlify, Railway, Fly.io, or Heroku. LingCode invokes each platform's CLI; you just install it and authenticate once. Token-paste shortcuts for every platform.
Provision your own server
No server yet? Start here. End-to-end tutorial: rent a Linux box on DigitalOcean, AWS Lightsail, AWS EC2, or any VPS; point your domain at it; turn on HTTPS with Let's Encrypt; hand it to Magic Deploy.
Your own server (scripts cookbook)
Already have an SSH-reachable server? Custom rsync deploys to a VPS, droplet, or bare-metal box. Copy-paste starters for Next.js, Vite, Node, Python, Go, Ruby, PHP, Rails — plus post-deploy scripts for nginx, pm2, systemd, Docker, and more.
Not sure which to pick? For most web apps, start with Vercel or Netlify — zero infra, works in minutes. For mobile, the App Store guide covers both iOS and macOS. For full control over your server, follow the provisioning tutorial, then use the scripts cookbook. You can also mix — LingCode lets you configure multiple deploy targets per project and run whichever you need.
One place for every credential. LingCode now centralizes API keys, tokens, and passwords in Settings (⌘,) → Credentials. Your AWS access key, Vercel token, App Store Connect .p8, GitHub PAT, DigitalOcean token, Cloudflare token, deploy-server SSH passwords — all stored in the macOS Keychain (service LingCode) and shared across every feature that needs them. Each provider supports multiple profiles — save "Personal AWS" and "Work AWS" side by side, switch active with one click in the Profile: ▾ chip on the provider row. The active profile's values mirror to legacy keys so existing features (Magic Deploy, Magic Submit, saved deploy servers) keep working unchanged; switching profiles seamlessly swaps which credential set those features see. Configure once; reuse forever.
Each provider also has a Test connection button that hits a cheap GET endpoint (e.g. /v2/user on Vercel, /v4/user/tokens/verify on Cloudflare) so you know your saved token is alive before you ever rely on it during a deploy. Need to store something the panel doesn't have a card for? Use Add custom secret at the bottom of the Custom / SSH category — name it once (e.g. stripe_test_key), paste the value, then read it from anywhere with CredentialStore.shared.customSecretValue(name:). Existing single-slot configurations auto-migrate to a "Default" profile on first launch — no re-entry, nothing to lose.
Username + password platforms too. The catalog isn't just API tokens — it covers any combination of fields. Built-in cards for Docker Hub, GitHub Container Registry, npm Registry, MySQL, Redis, and SMTP (Postmark / SendGrid / Mailgun / Gmail) save host, user, password, and API tokens together — switch between "personal" and "work" SMTP, or "local-dev" and "prod" MySQL, with one click in the profile picker. Inline pickers in Magic Deploy's Vercel / AWS S3 / App Store sheets let you switch the active credential set without leaving the deploy form: pick "Work AWS" from the chip at the top, the form refreshes, hit Deploy.
Learn the concepts
Deploy fundamentals. You don't need to read any of these to ship — but they'll save you hours of debugging when something does break.
What to fill in App Store Connect
Field-by-field walkthrough of every form Apple makes you fill out around the binary upload — App Information, Pricing, Privacy, Age Rating, version metadata, screenshot specs, App Review notes. Character limits and submit-blockers for each.
How App Store code signing works
The trust chain from Apple's root CA down to the signature on your .ipa. Why there are four layers, what each one proves, and how xcodebuild ties them together.
JWT auth in 5 minutes
What a JSON Web Token is physically, why deploy tools use it everywhere, and how Apple and Google use it differently.
Why versionCode breaks your second deploy
The #1 most-Googled deploy error. What build numbers actually do for the stores, and two strategies that make you stop tripping over them.
What a service account really is
Google's identity for machines. Why it's strictly better than an API key, and what minimum privilege looks like for a deploy service account.
Annotated file examples
Side-by-side views of the three files LingCode hands to Apple and Google — the .p8, the service-account JSON, and ExportOptions.plist — with every field explained.
Glossary
Every term from the deploy guides in plain English. AAB, .ipa, provisioning profile, service account, JWT, App Sandbox, versionCode, and 20+ more.
Deploy FAQ
The real questions devs actually ask — Apple Developer fees, TestFlight processing times, lost keystores, rollbacks, CI integration, what happens when a deploy fails mid-way, and more.
Before you deploy — build the app first
Setting up LingCode and your dev stack.
Getting Started
Install LingCode, connect Claude, open your first project, try a slash command. Fresh download to working AI session in ~10 minutes.
Development setup
Backend, database, frontend, env vars. Postgres / MySQL / Redis locally, migrations, .env patterns, common stacks end-to-end, and how LingCode's AI speeds up each step.