iphone-use: AIエージェントに実機のiPhoneを制御させる
Codex、Claude Code、その他のエージェントが実機のiPhoneを使えるように、iphone-useを作りました。画面をテキストとして読み取り、タップ、スワイプ、入力を行い、そのアクションが反映されたかを確認できます。
Mac上でデーモンが動作し、電話上でカスタムXCTestランナーが動作します。CLI、HTTP API、MCP、またはブラウザからアクセスできます。Macのカーソルやウィンドウフォーカスは操作しません。
インストール: Mac、Xcode、実機のiPhone
macOS 15以降、Xcode、署名用のApple ID、USBケーブルが必要です。無料のApple IDで動作します。電話でデベロッパモードを有効にし、Macに接続してロックを解除してください。
curl -fsSL https://raw.githubusercontent.com/leeguooooo/iphone-use/main/install.sh | sh
iphone-use doctor
iphone-use status
iphone-use trytryは設定を開き、画面を読み取り、ホームに戻ります。基本操作を無害かつ再現可能に確認できます。実際の出力を読んでください。インストールだけでは現在のデバイス準備状態は確立されません。doctorは不足している前提条件を示します。
Codex、Claude Code、またはMCPクライアントからiPhoneを使う
インストーラーはエージェントスキルを準備し、インストール済みのClaude CodeにMCPを登録します。他のMCPクライアントでもこの設定を使用できます。実行可能ファイルのパス内のユーザー名を置き換えてください。
{
"mcpServers": {
"iphone-use": {
"command": "/Users/YOUR_USERNAME/Applications/iPhoneUse.app/Contents/MacOS/iphone-use-mcp"
}
}
}HTTP APIは/agent/*配下にあります。MCPは準備状態、画面読み取り、入力、ショートカット、フローを扱います。まずステータスを確認し、現在の要素スナップショットに基づいて操作してください。結果は、実行済み、ディスパッチされていない、不確実を区別します。レスポンスはタスク完了の証明ではありません。
画面テキスト、CJK入力、スクリーンショット制限アプリ
ランナーはアクセシビリティスナップショットを読み取り、Macの入力メソッドを使わずに、XCTestを通じてタッチとUnicodeテキストを注入します。アプリがスクリーンショットを制限している場合でも、アクセシビリティ読み取りが役立つことがありますが、読める内容はアプリが公開しているものに依存します。すべての画面が読めるわけではありません。
繰り返しタスクをフローとして保存する
ブラウザパネルは承認済みのアクションを記録します。アプリ固有のフローを保存する前にドラフトを確認してください。通常の再生パスではモデルを呼び出しません。公式フローレジストリはスクリプトと検証記録を公開しています。
~/Applications/iPhoneUse.app/Contents/MacOS/iphone-use-mcp flow list
~/Applications/iPhoneUse.app/Contents/MacOS/iphone-use-mcp flow validate my-task.jsonフローはテストスイートやスケジュール済みタスクにできます。アプリの更新、アカウント状態、権限によってフローが無効になることがあります。失敗後は再検証してください。
iphone-use と agent-device、Mobile MCP、Appium の比較
| ツール | 焦点 |
|---|---|
| iphone-use | 自分の実機iPhone上の既存アプリ、ローカルMacホスト、ブラウザによる引き継ぎとエージェントAPI、レビュー済みフロー再生。 |
| agent-device | コーディングエージェントによるアプリ検証、クロスプラットフォームデバイス、再生、CI、リモートデバイスワークフロー。 |
| Mobile Next / Mobile MCP | iOSとAndroidのMCP制御、ローカルおよびクラウドデバイス。 |
| Appium | 保守されているクロスプラットフォーム自動化テストとWebDriverエコシステム。 |
これはユースケースの比較であり、測定された速度や信頼性ではありません。ベンチマークには同じデバイス、アクション、安定待ち条件が必要です。
よくある質問
脱獄は必要ですか?
いいえ。デベロッパモードと署名済みのXCTestランナーが必要です。
まだWebDriverAgentやiPhoneミラーリングを使っていますか?
v0.14.0でカスタムXCTestランナーがWebDriverAgentを置き換えました。現在の制御パスはiPhoneミラーリングに依存していません。以前のミラーリングおよび三層入力の記事は、過去の実装を説明したものです。
WindowsやLinuxで電話をホストできますか?
現在のローカルデバイスホストはMacです。リモートクライアントはそのブラウザUIとAPIにアクセスできますが、これはネイティブのWindowsデバイスホストではありません。
サインイン済みアプリを使えますか?
既存の電話アプリを制御し、サインイン状態を保持します。パスワード、確認コード、本人確認、最終的な支払いはユーザーが処理します。
どこで動作しますか?
デーモンとデバイスランナーはセルフホストします。デーモンの公開インターフェースには認証が必要です。電話ランナー自身のポートは未認証であり、信頼できるネットワーク上でのみ使用するものです。
最新のドキュメントとソース
GitHub / README · 完全ガイド · XCTestランナー · リリース · chrome-use
WeChat Pay
Alipay
コメント
コメントは即時公開されますが、ポリシー違反時は非表示になる場合があります。