4.6K Views
March 26, 25
スライド概要
[Mobile勉強会 ウォンテッドリー × チームラボ × Sansan #19 - connpass](https://teamlab.connpass.com/event/345995/) での発表資料です。
フリーランスiOSエンジニア 「エンジニアと人生」コミュニティ主宰
AIにiOSのビルドエラー を自己解決させたい @shu223
自己紹介 • • • 堤 修一 @shu223 (GitHub, Zenn, Qiita, note, Docswell, 𝕏, YouTube, Podcast, etc...) 書籍(商業出版4冊、個人出版多数 @BOOTH):
「AIでiOSアプリ開発を効率化したい」シリーズ 各種ツールの比較 docswell.com/s/shu223/ZP2L2G-ios-ai UIデザイン編 docswell.com/s/shu223/57RLEG-ios-ai-design
「AIでiOSアプリ開発を効率化したい」シリーズ AIエージェント編 ← 今回はこれの続編 docswell.com/s/shu223/51R4GG-ai-agent-ios
前提 • 個人での利用を想定した話です • 会社/仕事での利用ではない
どんな感じでiOSアプリ開発にAIを 使ってますか?
現状の(私の)ワークフロー CursorとXcodeを併用 • CursorでAIにタスクを依頼 • 非エージェントモード を利用 1 • Xcodeでビルド、必要に応じて人力修正 1 0.45以前ではComposerのNormalモード、0.46以降ではChatのAsk, Editモード 2 Xcode の Predictive Code Completion と GitHub Copilotのコード補完も利用 2
CursorとXcodeの併用、切り替え面倒じゃない? → 従来もXcodeでコード書きつつたまにブラウザ立ち上げてで ググる程度のことはやっていたはず。個人的には気にならな い。
しかし時代はエージェント ちまちまシングルターンで指示出している場合じゃないのかも...
こうしたい • 人間:指示 • AI: • 1. コードを書く • 2. ビルド or テスト実行 • 3. エラーの検知 • 1. 修正コードを書く • ... (タスク達成まで繰り返す)
xcodebuildを実行させれば良いだけでは? CursorにしろClineにしろ、ターミナルの操作が可能 xcodecodebuild でXcodeプロジェクトのビルドが可能 (ビルド出力もターミナルに流れるのでエラーの検知も可能)
試してみる
使用したプロジェクト AIに書かせた簡単なSwiftUI製ダミー SNSアプリ
わかりやすいエラーを仕込む {} の片方を除去 → "Expected '}' in struct"エラーになる ちなみにXcodeで見るとこうなる:
Clineへの指示 xcodebuildコマンドを用いてプロジェクトをビルドし、ビルド エラーが出た場合は自己解決してください。destination は"generic/platform=iOS'を指定してください
Clineはビルドを実行し、エラーを自己 解決できるか?
成功!
AIがやったこと
1. xcodebuild の実行
2. ビルドエラー検知 → 該当箇所の修正
3. 確認のため再度ビルド実行 → 成功!
コスト $0.1577(23.75円) • o3-mini利用 • 2回のビルド + コードの読み書き1回ずつ • ビルド出力を読ませているので、やはり入力トークンがでかい
こういうのもある
mcpxcodebuild の概要 3 • xcodebuild の実行をラップするMCPサーバー • 何が嬉しいのか? 3 • 引数の指定不要で、自動で project, scheme, destination を見つける → ビルド指示が楽になる • 不要なビルド出力をフィルタしてくれる → AIが迅速にエラーを特定でき る/トークン使用量を抑えられる 「Introducing mcpxcodebuild MCP Server Tool | by Tim Wang | Mar, 2025 | Level Up Coding」より
mcpxcodebuild を試してみた x.com/shu223/status/1904526258094178653 (口頭で補足します)
まとめ • AIに xcodebuild を実行させることで、「コードを書く → ビルド実行 → エ • MCPで xcodebuild をラップし、トークン使用料の増大を抑えつつAIのエ ラー特定を補助するようなツールも存在 ラーの修正」 という一連のサイクルを自律実行させることはできそう • アイデア次第でこういうAIを補助するツールも自前実装できる