はじめに
Xcode 26でClaude Sonnet 4がネイティブ統合され、iOSエンジニアの開発環境は大きく変わった。個人エンジニアの事例として「SwiftUIのみのプロジェクトで開発時間が60%削減された」という報告があるが(Medium個人記事・2026年3月)、これは無設定でClaude Codeを使った結果ではない。CLAUDE.mdの正しい設定とXcodeBuildMCPの組み合わせがあってこそだ。本記事はAndroid/Kotlin記事の姉妹編として、iOS/SwiftUI固有のセットアップを整理する。
なぜiOSエンジニアにClaude Codeが必要か
Xcode 26(2026年3月24日リリース)ではSettings → Intelligence → AnthropicからClaude Sonnet 4が設定できる。Xcode 26.3ではAgent SDK統合が完全実装され、AIが多段タスクを自律実行できるようになった。SwiftUIコンポーネントをプレビューリアルタイム更新しながら生成できるのはXcodeネイティブ統合の強みだ。
一方で複数ファイルにまたがるリファクタリング・テスト生成・CI/CD構築はClaude Code CLI(ターミナル)が得意とする領域だ。まず両者の使い分けを把握しておく。
セットアップ:XcodeBuildMCPの導入
XcodeBuildMCPはgetsentry製のオープンソースMCPサーバーで、ビルド・テスト・シミュレーター管理・LLDBデバッグを含む59個のツールを提供する。Xcodeを起動しなくてもターミナルからビルド・テスト・デプロイが完結するのが最大の特徴だ。
claude mcp add XcodeBuildMCP -s user \
-e XCODEBUILDMCP_SENTRY_DISABLED=true \
-- npx -y xcodebuildmcp@latest mcp
インストール後、`mcp__xcodebuildmcp__build_sim_name_proj`でビルド、`mcp__xcodebuildmcp__test_sim_name_proj`でテスト実行ができる。要件はXcode 26.3以上だ。
CLAUDE.md:iOS特有の必須設定
iOS開発ではCLAUDE.mdに以下を必ず記載する。特に`.pbxproj`の禁止は最重要だ。プロジェクトファイルが破損するとチーム全体に影響する。
## iOSプロジェクトルール
- .pbxprojファイルは変更禁止(ファイル作成はClaude Code、Xcodeへの追加は手動で行う)
- UIフレームワーク: SwiftUI必須(UIKitは既存コードのみ)
- 状態管理: @Observable(ObservableObjectは使用禁止)
- 非同期処理: async/awaitのみ(コールバック・NotificationCenter禁止)
- ナビゲーション: NavigationStack(NavigationViewは廃止予定)
- Swift 6 strictConcurrency対応
- ターゲット: iOS 17+
- 除外パス: Pods/、DerivedData/、.build/(コンテキスト汚染防止)
CLAUDE.mdは500行以内に収める。毎セッション全文がコンテキストに読み込まれるため、肥大化するとトークン消費が増える。
実践ワークフロー:ターミナル中心の開発サイクル
推奨ワークフローはターミナル(Claude Code CLI)を主軸に置く。
1. CLAUDE.mdを整備してプロジェクトルールを確定する
2. XcodeBuildMCPでコード生成→ビルド→テストをターミナルで完結させる
3. Xcodeは`.pbxproj`の手動管理とSwiftUIプレビュー確認のみに使う
SwiftUI APIの品質向上にはtwostraws(Paul Hudson)製のSwiftUI Agent Skill(`twostraws/SwiftUI-Agent-Skill`)が有効だ。SwiftUI APIの使い方・デザイン・パフォーマンス・アクセシビリティのガイダンスが含まれ、Claude Code・Cursor等で利用できる。iOS 26+の最新API(Liquid Glass UI含む)には`vabole/apple-skills`も合わせて導入するとよい。
複数ファイルにまたがるasync/await移行・SwiftData/CoreDataスキーマ設計・CI/CDパイプライン構築はCLI操作が最も効果的な領域だ。
上級ワークフローとして、PRD(製品要件仕様書)からClaude Codeに自律開発させる手法がある(`keskinonur/claude-code-ios-dev-guide`)。`ultrathink` + Planモードを組み合わせてiOSアプリの機能単位で自律実装させるアプローチで、CLAUDE.mdが正確に整備されていることが前提になる。
よくある落とし穴と対策
CLAUDE.mdなしで使い始めると`.pbxproj`の破損・古いUIKitパターンの混入・廃止API(`NavigationView`等)の生成が起きやすい。`Pods/`や`DerivedData/`を除外設定していないとコンテキストが汚染され、Claude Codeの回答精度が下がる。`raw xcodebuild`コマンドを直接実行させず、XcodeBuildMCPのツールを通じて操作させることでビルド結果の解析精度も向上する。
もう一点、ターゲットiOSバージョンの未記載は頻繁に起きる。iOS 17未満では`@Observable`が使えないため、ターゲットバージョンをCLAUDE.mdに明示しておかないとClaude Codeが`ObservableObject`にフォールバックするコードを生成する。
まとめ
iOSでClaude Codeを正しく使うには、CLAUDE.mdへの`.pbxproj`禁止・SwiftUI必須・@Observable必須の記載とXcodeBuildMCPの導入が前提だ。今すぐCLAUDE.mdをプロジェクトにコミットしてほしい。XcodeBuildMCPを追加すれば、Xcodeを開かずにビルド・テストサイクルがターミナルで完結する。

コメント