Deployment

Build artifact

npx lakebed-native build --target native-preview

Output: .lakebed-native/artifacts/app.json

Deploy

npx lakebed-native deploy [--public-inspect]

Starts hosted runner at http://localhost:4000 and returns deploy URLs.

Open deployed capsule

npx lakebed-native open --url "<openUrl from deploy>"

Standalone apps (fast pack)

All Lakebed Native apps share one universal shell (same native code). To ship a standalone app without Xcode/Android Studio or a 12-minute cloud device build:

# Build universal shell once (maintainers / CI — or download from Lakebed docs)
npm run shell:android   # → shell/android/.../app-debug.apk
npm run shell:ios       # → shell/LakebedNative.app (simulator)

# Pack a capsule: deploy to Lakebed hosted + swap JS bundle into shell
npx lakebed-native pack demo-todo --platform android --api http://localhost:4000
npx lakebed-native pack demo-todo --platform ios --api http://localhost:4000

Output:

Install iOS simulator build: xcrun simctl install booted path/to/app.app

Physical iPhone: simulator .app will not install on device. Use Lakebed Native Cloud device builds:

npx lakebed-native apple setup              # your Apple Developer credentials
npx lakebed-native apple devices register   # register iPhone UDID
npx lakebed-native cloud build --platform ios   # device IPA via Lakebed Native Cloud
# or on Mac: npx lakebed-native apple build --local

Lakebed Native site (docs + cloud device builds + shell downloads): https://lakebednative.xyznot capsule hosting. Deploy capsules with normal Lakebed:

npx lakebed-native deploy --api $LAKEBED_HOSTED_API

See cloud.md and apple-credentials.md. Lakebed Native Cloud handles compile infrastructure; you pay Apple Developer Program.

iOS signing vs full cloud device builds

Provisioning profiles (register devices, create ad-hoc profile, store signing credentials) can be done without Xcode — from any OS via lakebed-native apple setup, the Apple Developer website, or an App Store Connect API key.

Signing or re-signing an IPA (applying your distribution certificate + provisioning profile to the binary) requires macOS with Xcode Command Line Tools (codesign, keychain). Linux and Windows cannot sign iOS apps natively.

Path Where it runs Typical time
pack --platform android Any OS Seconds
pack --platform ios (simulator .app) Mac (Xcode for build-once shell) Seconds
Cloud device IPA (cloud build) Lakebed Native Cloud ~12 min (native compile + sign)
Prebuilt shell IPA + swap JS + re-sign Mac only (future pack --device) Seconds–minutes after one-time shell build

So 12-minute builds are not the only model, but they are the only model that works without a Mac today. cloud build runs on Lakebed Native Cloud from any machine — no local Xcode needed. The fast “universal shell + inject bundle” path for physical iPhones still needs a Mac for the re-sign step (or another cloud build). Plan: build the device shell once via Lakebed Native Cloud, then pack on Mac for each capsule.

Legacy native build commands

npx lakebed-native shell build --platform ios --profile simulator
npx lakebed-native build-native --platform ios --profile preview
npx lakebed-native submit --platform ios --profile production

Missing signing setup or cloud build credentials returns actionable diagnostics.

Limits (v1 hosted)