mirror of
https://github.com/openclaw/openclaw.git
synced 2026-03-21 15:01:03 +00:00
iOS:
- QR scanner view using DataScannerViewController
- Photo library QR detection via CIDetector for saved QR images
- Deep link parser for openclaw://gateway URLs and base64url setup codes
- Onboarding wizard: full-screen welcome with "Scan QR Code" button,
auto-connect on scan, back navigation, step indicators for manual flow
Backend:
- Add /pair qr action to device-pair extension for QR code generation
- TUI/WebUI differentiation: ASCII QR for TUI, markdown image for WebUI
- Telegram: send QR as media attachment via sendMessageTelegram
- Add data URI support to loadWebMedia for generic base64 media handling
- Export renderQrPngBase64 from plugin SDK for extension use
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
(cherry picked from commit d79ed65be0)
OpenClaw (iOS)
This is an alpha iOS app that connects to an OpenClaw Gateway as a role: node.
Expect rough edges:
- UI and onboarding are changing quickly.
- Background behavior is not stable yet (foreground app is the supported mode right now).
- Permissions are opt-in and the app should be treated as sensitive while we harden it.
What It Does
- Connects to a Gateway over
ws:///wss:// - Pairs a new device (approved from your bot)
- Exposes phone services as node commands (camera, location, photos, calendar, reminders, etc; gated by iOS permissions)
- Provides Talk + Chat surfaces (alpha)
Pairing (Recommended Flow)
If your Gateway has the device-pair plugin installed:
- In Telegram, message your bot:
/pair - Copy the setup code message
- On iOS: OpenClaw → Settings → Gateway → paste setup code → Connect
- Back in Telegram:
/pair approve
Build And Run
Prereqs:
- Xcode (current stable)
pnpmxcodegen
From the repo root:
pnpm install
pnpm ios:open
Then in Xcode:
- Select the
OpenClawscheme - Select a simulator or a connected device
- Run
If you're using a personal Apple Development team, you may need to change the bundle identifier in Xcode to a unique value so signing succeeds.
Build From CLI
pnpm ios:build
Tests
cd apps/ios
xcodegen generate
xcodebuild test -project OpenClaw.xcodeproj -scheme OpenClaw -destination "platform=iOS Simulator,name=iPhone 17"
Shared Code
apps/shared/OpenClawKitcontains the shared transport/types used by the iOS app.