← All tutorials

iOS development from your iPhone with Claude Code, Codex & more

Build, see, and ship your iOS app from your pocket. The agent runs on your Mac next to Xcode; Terminull streams the diffs, the running UI, and the logs into a chat on your phone — and can watch the App Store for you.

  1. Pair your Mac

    Install the menu-bar bridge and scan the pairing QR once. Your agents (Claude Code, Codex, Gemini, Cursor, and more) are detected automatically.

  2. Code with any agent

    Start a session, pick an agent, and describe the feature — type it or dictate it by voice, or attach a screenshot or design and ask the agent to match it. File changes and diffs stream into the chat as cards; switch agents or models mid-conversation without losing context.

  3. See the result, not just the code

    Ask the agent to run the app in the simulator — it drops screenshots and screen recordings straight into the chat bubble. Tap to zoom, scrub the video, confirm the UI is right before you ever open the laptop.

  4. Tail logs in chat

    Pipe xcrun simctl / device logs or your own bLog output into the session and reason over a crash inline — grep, ask "why", and have the agent patch it, all in the same thread.

  5. Schedule error alerting & stats

    Set a scheduled run that scans your crash dashboard each morning and pushes only when something regressed, plus a weekly digest of installs and active users. Quiet runs leave no trace.

  6. Schedule App Store events

    A script schedule polls App Store Connect on a cadence and stays silent until the review state moves — then pushes exactly what to do next: "In review → Approved 🎉 release it" or "Rejected — open Resolution Center."

Recipe · script schedule

App Store review watcher

A Script schedule (Type → Script in the editor), hourly, with Run visibility: Only notable runs. It notifies on a real status change and is silent the rest of the time — no LLM cost, no drawer clutter.

# exit 0 = notify (line 1 = push title) · exit 75 = nothing changed · other = error
state=$(cat $TERMINULL_STATE_DIR/last 2>/dev/null)
now=$(asc_review_state)                 # your ASC API call
if [ "$state" = "$now" ]; then exit 75; fi   # unchanged → silent
echo "$now" > $TERMINULL_STATE_DIR/last
echo "App review: $now"                 # → push title
echo "Next: release it, or open Resolution Center if rejected"
exit 0
Other roles: 🤖 Android 🌐 Web / Frontend ⚙️ Backend / API 🖥️ Server Admin & DevOps

Ready to try it?

Install the bridge on your Mac or VPS, grab the app, and pair in under a minute.