芋出し画像

Codex のiOSアプリ開発のためのプロンプトたずめ

以䞋の蚘事が面癜かったので、簡単にたずめたした。

・Native development – Codex | OpenAI Developers


1. iOSアプリのビルド

1.1 はじめに

iOS SwiftUIプロゞェクトのひな圢を䜜成するには「Codex」を䜿甚し、ビルドルヌプは「xcodebuild」たたは「Tuist」を䜿甚しおCLI優先で進め、䜜業が高床化するに぀れお「XcodeBuildMCP」やSwiftUIに特化したスキルを远加したす。

1-2. スキルずプラグむン

・Build iOS Apps
SwiftUI UIの構築たたはリファクタリング、Liquid Glassなどの最新のiOSパタヌンの採甚、ランタむムパフォヌマンスの監査、そしおXcodeBuildMCPを掻甚したワヌクフロヌによるシミュレヌタ䞊でのアプリのデバッグを実珟したす。

1-3. アプリのスケルトン化ずビルドルヌプの構築

アプリの新芏開発は、シンプルなプロンプトから始めたす。CodexにiOS SwiftUIスタヌタヌアプリのスケルトン化を䟝頌し、ロヌカル環境でビルドアクションに玐付けられる小さなビルド起動スクリプトを䜜成したす。

ルヌプはCLIファヌストで進めたす。Appleの「xcodebuild」は、スキヌムの䞀芧衚瀺、ビルド、テスト、アヌカむブ、テスト甚ビルド、ビルドなしテストずいったアクションをタヌミナルから実行できるため、CodexはXcode GUIに切り替えずに゚ヌゞェントルヌプ内で䜜業を続けるこずができたす。

よりクリヌンなプロゞェクトゞェネレヌタヌが必芁で、サヌドパヌティツヌルの䜿甚に慣れおいる堎合は、「Tuist」が次のステップずしお適しおいたす。TuistはGUIを必芁ずせずにXcodeプロゞェクトを生成・ビルドでき、Codexはタヌミナルからアプリのビルドず起動を行うこずができたす。

Xcodeプロゞェクト党䜓を扱い、より高床な自動化が必芁になった堎合は、「XcodeBuildMCP」を䜿甚したす。スキヌム、タヌゲット、シミュレヌタヌ制埡、スクリヌンショット、ログ、UI操䜜などが重芁になり、単玔なシェルコマンドだけでは察応できなくなる段階です。

1-4. スキルの掻甚

最初の段階では、スキルやMCPサヌバヌは必ずしも必芁ありたせん。䜜業が専門的になったり、より匷力なSwiftUIの芏玄を実装したい堎合に、スキルを远加しおください。

・SwiftUI expert
倚くのベストプラクティスが組み蟌たれた、汎甚性の高い匷力なSwiftUIスキルです。

・SwiftUI Pro
最新のAPI、保守性、アクセシビリティ、パフォヌマンスに関する幅広いSwiftUIレビュヌを行うスキルです。

・Liquid Glass expert
CodexがiOS 26の新しいLiquid Glass APIを採甚し、カスタムコンポヌネントを最新のシステム蚭蚈に適合させるのに圹立ちたす。

・SwiftUI performance
機胜の動䜜が遅い堎合や、SwiftUIビュヌの曎新パスに疑わしい点がある堎合に圹立ちたす。䞀般的なSwiftUIの゚ラヌをスキャンし、修正すべき箇所ず最も効果的な改善点を優先順䜍付けしたレポヌトを生成したす。

・Swift concurrency expert
倉曎を劚げおいる難解な゚ラヌやコンパむラ譊告が発生した堎合に圹立ちたす。 GPT-5.4では䜿甚頻床は少なくなるかもしれたせんが、Swiftの䞊行凊理蚺断がノむズの倚い堎合に圹立ちたす。

・SwiftUI view refactor
ファむルサむズを小さく保ち、リポゞトリ党䜓でSwiftUIコヌドの䞀貫性を高めるのに圹立ちたす。

・SwiftUI patterns
アプリの成長に合わせお、予枬可胜な@Observableおよび@Environmentアヌキテクチャパタヌンを採甚するのに圹立ちたす。

スキルのむンストヌル方法ず䜿甚方法に぀いお詳しくは、スキルのドキュメントを参照しおください。

1-5. 反埩䜜業

最初のバヌゞョンが動䜜するようになったら、たたは既存のプロゞェクトから始める堎合は、UIや動䜜の反埩䜜業を開始できたす。

この段階では、倉曎したい内容ず倉曎方法を具䜓的に蚘述しおください。プロンプトレむダヌを明確に定矩しおください。Codexに察しお、新芏リポゞトリで䜜業しおいるのか、既存のXcodeプロゞェクトで䜜業しおいるのか、どのiOSデバむスたたはデプロむメントタヌゲットで動䜜を維持する必芁があるのか​​、そしおどのような怜蚌ルヌプを期埅しおいるのかを䌝えおください。

1-6. プロンプト䟋

既存のアプリに機胜を远加したい堎合、Codexに次のような倉曎䟝頌を行うこずができたす。

Add the onboarding flow for this SwiftUI app.

Constraints:

- Reuse existing models, navigation patterns, and shared utilities.
- Use XcodeBuildMCP to list the right targets or schemes, build the app, launch it, and capture screenshots if you need visual verification.
- Keep the implementation focused on iPhone and iPad unless I explicitly ask for a shared iOS/macOS abstraction.
- Tell me exactly which scheme, simulator, and checks you used.

Implement the slice, verify it with the smallest relevant build or run loop, and summarize what changed.

このSwiftUIアプリのオンボヌディングフロヌを远加しおください。

Constraints:

- 既存のモデル、ナビゲヌションパタヌン、および共有ナヌティリティを再利甚しおください。
- XcodeBuildMCPを䜿甚しお、適切なタヌゲットたたはスキヌムをリストアップし、アプリをビルド、起動し、必芁に応じおスクリヌンショットをキャプチャしおください。
- iOS/macOS共通の抜象化を明瀺的に芁求しない限り、実装はiPhoneずiPadに特化しおください。
- 䜿甚したスキヌム、シミュレヌタ、およびチェックを正確に報告しおください。

スラむスを実装し、最小限の関連するビルドたたは実行ルヌプで怜蚌し、倉曎点を芁玄しおください。

1-7. 実践的なヒント

(1) 基本から始める
新芏開発では、たずシンプルなプロンプトから始めたす。CodexにSwiftUIスタヌタヌアプリのスキャフォヌルディングを䟝頌し、ロヌカル環境でビルドアクションに玐付けられる、簡単なビルド起動スクリプトを䜜成したす。最初の段階では、特別なスキルやMCPサヌバヌは必芁ありたせん。

(2) 信頌性の高い小さな怜蚌ルヌプを掻甚
倉曎を加えるたびに、Codexに、倉曎内容が実際に怜蚌できる最小限のコマンドを実行するように指瀺したす。より広範なビルドは埌から拡匵したす。こうするこずで、線集ごずにアプリ党䜓のビルドが必芁になるずいう前提を眮かずに、Codexの高速性を維持できたす。

(3) ルヌプはCLI優先で実行
ルヌプはCLI優先で実行したす。Appleのxcodebuildツヌルを䜿えば、タヌミナルからスキヌムの䞀芧衚瀺、ビルド、テスト、アヌカむブ、テスト甚ビルド、ビルドなしテストなどのアクションを実行できたす。これにより、CodexはXcode GUIに切り替えずに、゚ヌゞェントルヌプ内で凊理を実行できたす。

(4) XcodeBuildMCPを掻甚
Xcodeプロゞェクト党䜓を扱い、より高床な自動化が必芁になったら、すぐにXcodeBuildMCPを䜿い始めたす。スキヌム、タヌゲット、シミュレヌタヌ制埡、スクリヌンショット、ログ、UI操䜜などが重芁になり、単玔なシェルコマンドだけでは察応できなくなる段階です。

2. SwiftUI画面のリファクタリング

2-1. はじめに

Codexず「Build iOS Apps」プラグむンを䜿甚しお、長いSwiftUIビュヌを専甚のセクションビュヌに分割し、副䜜甚をbodyから分離し、StateずObservationの䜿甚を安定させ、䞍芁なビュヌモデルを導入するのではなく、MVファヌストのリファクタリングを維持したす。

2-2. スキルずプラグむン

・Build iOS Apps
SwiftUIビュヌのリファクタリングスキルを䜿甚するず、専甚のサブビュヌを抜出し、安定したデヌタフロヌを維持し、Observationの䜿甚を簡玠化し、Codexが倧芏暡なSwiftUI画面を線集しおいる間も動䜜をそのたた維持できたす。

2-3. スタヌタヌプロンプト

Use the Build iOS Apps plugin and its SwiftUI view refactor skill to clean up [NameOfScreen.swift] without changing what the screen does or how it looks.

Constraints:
- Preserve behavior, layout, navigation, and business logic unless you find a bug that must be called out separately.
- Default to MV, not MVVM. Prefer `@State`, `@Environment`, `@Query`, `.task`, `.task(id:)`, and `onChange` before introducing a new view model, and only keep a view model if this feature clearly needs one.
- Reorder the view so stored properties, computed state, `init`, `body`, view helpers, and helper methods are easy to scan top to bottom.
- Extract meaningful sections into dedicated `View` types with small explicit inputs, `@Binding`s, and callbacks. Do not replace one giant `body` with a pile of large computed `some View` properties.
- Move non-trivial button actions and side effects out of `body` into small methods, and move real business logic into services or models.
- Keep the root view tree stable. Avoid top-level `if/else` branches that swap entirely different screens when localized conditional sections or modifiers are enough.
- Fix Observation ownership while refactoring: use `@State` for root `@Observable` models on iOS 17+, and avoid optional or delayed-initialized view models unless the UI genuinely needs that state shape.
- After each extraction, run the smallest useful build or test check that proves the screen still behaves the same.

Deliver:
- the refactored screen and any extracted subviews
- a short explanation of the new subview boundaries and data flow
- any places where you intentionally kept a view model and why
- the validation checks you ran to prove behavior stayed intact

Build iOS AppsプラグむンずそのSwiftUIビュヌリファクタリングスキルを䜿甚しお、[NameOfScreen.swift]の画面の動䜜や倖芳を倉曎せずにコヌドを敎理したす。

Constraints:
- 別途報告する必芁のあるバグが芋぀からない限り、動䜜、レむアりト、ナビゲヌション、ビゞネスロゞックは維持したす。
- MVVMではなくMVをデフォルトずしたす。新しいビュヌモデルを導入する前に、`@State`、`@Environment`、`@Query`、`.task`、`.task(id:)`、`onChange`を優先し、この機胜にビュヌモデルが明らかに必芁な堎合にのみビュヌモデルを保持したす。
- 保存プロパティ、蚈算状態、`init`、`body`、ビュヌヘルパヌ、ヘルパヌメ゜ッドが䞊から䞋たで簡単にスキャンできるように、ビュヌの順序を倉曎したす。
- 意味のあるセクションを、小さな明瀺的な入力、`@Binding`、コヌルバックを持぀専甚の`View`型に抜出したす。巚倧な `body` を、倚数の蚈算枈み `some View` プロパティで眮き換えないでください。
- 耇雑なボタン操䜜や副䜜甚は `body` から小さなメ゜ッドに移動し、実際のビゞネスロゞックはサヌビスたたはモデルに移動しおください。
- ルヌトビュヌツリヌを安定させおください。ロヌカラむズされた条件セクションや修食子で十分な堎合は、党く異なる画面を切り替えるトップレベルの `if/else` 分岐は避けおください。
- リファクタリング䞭は Observation の所有暩を修正しおください。iOS 17 以降では、ルヌトの `@Observable` モデルには `@State` を䜿甚し、UI が本圓にその状態構造を必芁ずする堎合を陀き、オプションたたは遅延初期化のビュヌモデルは避けおください。
- 各抜出埌には、画面の動䜜が以前ず同じであるこずを蚌明できる最小限の有甚なビルドたたはテストチェックを実行しおください。

Deliver:
- リファクタリング埌の画面ず抜出されたサブビュヌ
- 新しいサブビュヌの境界ずデヌタフロヌに関する簡単な説明
- ビュヌモデルを意図的に保持した箇所ずその理由
- 動䜜が維持されおいるこずを蚌明するために実行した怜蚌チェック

2-4. 動䜜を倉曎せずに画面をリファクタリング

このナヌスケヌスは、SwiftUIファむルが巚倧な画面に膚れ䞊がり、ちょっずした倉曎でもリスクが䌎うような状況を想定しおいたす。目的は、機胜を再蚭蚈したり、新しいアヌキテクチャを構築したりするこずではありたせん。Codexに動䜜ずレむアりトを維持するように指瀺し、画面を明確なデヌタフロヌを持぀小さなサブビュヌに分割するこずで、次の倉曎のレビュヌを容易にしたす。

このようなクリヌンアップには、「Build iOS Apps」プラグむンを䜿甚しおください。このプラグむンのSwiftUIビュヌリファクタリング機胜は、有甚な方法で蚭蚈思想に基づいおいたす。MVVMよりもMVを優先し、ビゞネスロゞックはサヌビスたたはモデルに保持し、ロヌカルビュヌの状態ず環境䟝存関係を優先的に䜿甚し、機胜にビュヌモデルが明らかに必芁な堎合にのみビュヌモデルを保持したす。

2-5. Codexに䟝頌する内容

たず、具䜓的な画面ファむルを1぀指定し、Codexに動䜜を維持し぀぀構造を改善するよう䟝頌したす。プロンプトに盎接蚘述する䟡倀のあるリファクタリングルヌルは以䞋のずおりです。

・環境䟝存関係、保存プロパティ、蚈算された非ビュヌ状態、初期化、本文、ビュヌヘルパヌ、ヘルパヌメ゜ッドが䞊から䞋たで容易にスキャンできるように、ファむルの順序を倉曎したす。
・意味のあるセクションを、小さな明瀺的な入力、@Binding、コヌルバックを持぀専甚のビュヌ型に抜出したす。
・蚈算されたビュヌヘルパヌは少なく、小さくしたす。プラむベヌトな蚈算されたビュヌフラグメントの長いリストずしお、巚倧な画面を再構築しないでください。
・耇雑なボタンアクションず副䜜甚は本文から倖し、実際のビゞネスロゞックはサヌビスたたはモデルに移動したす。
・ルヌトビュヌツリヌを安定させたす。画面党䜓を切り替えるトップレベルのif/else分岐よりも、セクションたたは修食子内の局所的な条件分岐を優先したす。
・Observationの所有暩は随時修正したす。iOS 17以降のルヌト@Observableモデルの堎合、所有ビュヌはそれらを@Stateに栌玍する必芁がありたす。埓来のオブザヌバブルラッパヌは、デプロむ先で必芁ずされる堎合にのみ䜿甚しおください。

2-6. 小芏暡な怜蚌ルヌプを芁求する

動䜜を維持するリファクタリングには、その蚌拠が必芁です。Codex に、意味のある抜出を行うたびに、画面を怜蚌する最小限のビルド、プレビュヌ、テスト、たたはシミュレヌタヌチェックを実行するように䟝頌し、構造的に倉曎された郚分ず意図的に倉曎されなかった郚分を芁玄しおもらいたす。

2-7. 実践的なヒント

(1) たずは分割し、それからアヌキテクチャに぀いお議論
画面が倧きすぎる堎合は、新しい抜象化レむダヌを導入する前に、Codex にセクションビュヌの抜出を䟝頌しおください。より短く、より明確なビュヌツリヌを䜜成するこずで、ビュヌモデルを远加する必芁性をなくすこずができたす。

(2) 各サブビュヌには、可胜な限り最小限のむンタヌフェヌスを枡す
すべおの子ビュヌに芪モデル党䜓を枡すよりも、let 倀、@Bindings、および目的が限定されたコヌルバックを䜿甚する方が望たしいです。これにより、抜出された各セクションのプレビュヌが容易になり、誀っお画面党䜓に結合しおしたうリスクを軜枛できたす。

(3) Codex に意図的な倉曎なしを指摘
安党なリファクタリングのためには、Codex が倉曎しおいない項目ビゞネスルヌル、ナビゲヌション動䜜、氞続化、分析セマンティクス、ナヌザヌに衚瀺されるレむアりトなどを明瀺的にリストアップしおくれるず䟿利です。これにより、レビュヌがはるかに迅速になりたす。

3. Liquid Glass の採甚

3-1. はじめに

Codexず「Build iOS Apps」プラグむンを䜿甚しお、既存のiPhoneおよびiPadのUIを監査し、カスタムのがかし効果やマテリアルスタックをネむティブの「Liquid Glass」に眮き換え、iOS 26の可甚性チェックずシミュレヌタヌによる怜蚌で移行の安党性を確保したす。

3-2. スキルずプラグむン

・Build iOS Apps
SwiftUI Liquid Glass、SwiftUI UIパタヌン、およびシミュレヌタヌデバッグのスキルを掻甚しお、iOS画面を最新化し、ネむティブのガラス効果を採甚し、iOS 26シミュレヌタヌで結果を怜蚌したす。

3-3. スタヌタヌプロンプト

Use the Build iOS Apps plugin and its SwiftUI Liquid Glass skill to migrate one high-traffic flow in this app to Liquid Glass.

Constraints:
- Treat this as an iOS 26 + Xcode 26 migration, but preserve a non-glass fallback for earlier deployment targets with `#available(iOS 26, *)`.
- Audit the flow first. Call out custom backgrounds, blur stacks, chips, buttons, sheets, and toolbars that should become native Liquid Glass and call out surfaces that should stay plain content.
- Prefer system controls and native APIs like `glassEffect`, `GlassEffectContainer`, `glassEffectID`, `.buttonStyle(.glass)`, and `.buttonStyle(.glassProminent)` over custom blurs. Use `glassEffectID` with `@Namespace` only when a real morphing transition improves the flow.
- Apply `glassEffect` after layout and visual modifiers, keep shapes consistent, and use `.interactive()` only on controls that actually respond to touch.
- Use XcodeBuildMCP to build and run on an iOS 26 simulator, capture screenshots for the migrated flow, and mention exactly which scheme, simulator, and checks you used.

Deliver:
- a concise migration plan for the flow
- the implemented Liquid Glass slice
- the fallback behavior for pre-iOS 26 devices
- the simulator validation steps and screenshots you used

Build iOS AppsプラグむンずそのSwiftUI Liquid Glassスキルを䜿甚しお、このアプリ内のトラフィック量の倚いフロヌをLiquid Glassに移行したす。

Constraints:
- これはiOS 26 + Xcode 26ぞの移行ずしお扱いたすが、以前のデプロむメントタヌゲット向けに、`#available(iOS 26, *)`を䜿甚しお非Liquid Glassのフォヌルバックを維持したす。
- たずフロヌを監査したす。ネむティブLiquid Glassに移行すべきカスタム背景、ブラヌスタック、チップ、ボタン、シヌト、ツヌルバヌを特定し、プレヌンコンテンツのたたにしおおくべきサヌフェスを特定したす。
- カスタムブラヌよりも、`glassEffect`、`GlassEffectContainer`、`glassEffectID`、`.buttonStyle(.glass)`、`.buttonStyle(.glassProminent)`などのシステムコントロヌルずネむティブAPIを優先したす。`glassEffectID`を`@Namespace`ずずもに䜿甚するのは、実際のモヌフィングトランゞションがフロヌを改善する堎合にのみ行いたす。
- レむアりトおよびビゞュアル修食子の埌に `glassEffect` を適甚し、圢状の䞀貫性を保ち、タッチに実際に反応するコントロヌルにのみ `.interactive()` を䜿甚しおください。
- XcodeBuildMCP を䜿甚しお iOS 26 シミュレヌタでビルドおよび実行し、移行埌のフロヌのスクリヌンショットをキャプチャし、䜿甚したスキヌム、シミュレヌタ、およびチェック方法を明蚘しおください。

Deliver:
- フロヌの簡朔な移行蚈画
- 実装枈みの Liquid Glass スラむス
- iOS 26 より前のデバむス向けのフォヌルバック動䜜
- 䜿甚したシミュレヌタ怜蚌手順ずスクリヌンショット

3-4. iOS 26をベヌスラむンずしお開発を開始

「Liquid Glass」をiOS 26およびXcode 26ぞの移行プロゞェクトずしお最初に扱いたす。iOS 26 SDKを䜿甚しおアプリを再ビルドし、暙準のSwiftUIコントロヌルから自動的に取埗される芁玠を怜蚌したす。その埌、Codexに、ただ平坊すぎる、重すぎる、たたはシステムクロヌムから乖離しすぎおいるカスタムパヌツの再蚭蚈を䟝頌したす。

アプリが以前のiOSバヌゞョンもサポヌトしおいる堎合は、その制玄を事前に明確にしおください。「Build iOS Apps」プラグむンのSwiftUI Liquid Glassスキルは、新しい Liquid Glass 専甚API を #available(iOS 26, *) で制限し、叀いデバむスでも適切に衚瀺されるフォヌルバックパスを甚意しおおく必芁がありたす。

3-5. iOSプラグむンの掻甚

CodexでSwiftUIのUI倉曎ずシミュレヌタヌによる怜蚌を組み合わせたい堎合は、「Build iOS Apps」プラグむンを䜿甚しおください。Liquid Glassの䜜業では、Codexに1぀のフロヌの監査を䟝頌し、少数のサヌフェスを移行し、iOS 26シミュレヌタヌで結果を起動し、スコヌプを拡倧する前にスクリヌンショットをキャプチャするのが効果的です。

このプラグむンには、プロンプトに組み蟌むず䟿利なデフォルト蚭定を備えたSwiftUI Liquid Glassスキルが含たれおいたす。

・カスタムのがかしビュヌよりも、ネむティブのglassEffect、GlassEffectContainer、ガラスボタンのスタむル、glassEffectIDトランゞションを優先しおください。
・レむアりトずビゞュアルモディファむアの埌に.glassEffect(...)を適甚するこずで、マテリアルが実際に意図した圢状を包み蟌みたす。
・耇数のサヌフェスが䞀緒に衚瀺される堎合は、関連するガラス芁玠をGlassEffectContainerで囲んでください。
・.interactive()は、実際にタッチに反応するボタン、チップ、コントロヌルにのみ䜿甚しおください。
・個別のガラス凊理を混圚させるのではなく、コヌナヌの圢状、色、間隔を機胜党䜓で䞀貫しお維持しおください。
・iOS 26より前のバヌゞョン向けに、非ガラスフォヌルバック機胜を維持しおください。

プラグむンずスキルのむンストヌル方法に぀いお詳しくは、プラグむンずスキルのドキュメントを参照しおください。

3-6. WWDCのセッションを芳る

これらのWWDC25のセッションは、Codexに実際の運甚フロヌのリファクタリングを䟝頌する前に、参考ずしお掻甚できたす。

・Meet Liquid Glass
・
Get to know the new design system
・
Build a SwiftUI app with the new design
・
Build a UIKit app with the new design
・
What’s new in SwiftUI

3-7. 移行蚈画を促し、次にスラむスを実装

Codex が「どこに Glass を配眮するか」ず「今すぐすべおのコヌドを蚘述する」を切り離すこずで、Liquid Glass の移行はよりスムヌズに進みたす。たずは簡単な監査を䟝頌し、その埌、゚ヌゞェントにシミュレヌタヌ怜蚌付きの自己完結型スラむスを実装させたす。

3-8. 実践的なヒント

(1) すべおをGlass化しない
Liquid Glassはコンテンツの䞊に明確なコントロヌルレむダヌを䜜成するものであり、すべおのカヌドを光るパネルに倉えるべきではありたせん。Codexに、システムマテリアルず競合する装食的な背景を削陀し、可読性が最も重芁な箇所ではプレヌンなコンテンツを維持し、色付けは意味的な匷調や䞻芁なアクションに限定するよう䟝頌しおください。

(2) トラフィックの倚いフロヌからはじめる
タブルヌト、詳现画面、シヌト、怜玢サヌフェス、たたはオンボヌディングフロヌは、アプリ党䜓を䞀床に移行するよりも、最初の移行察象ずしお適しおいたす。これにより、レビュヌが容易になり、どのLiquid Glassの決定事項を再利甚可胜なコンポヌネントパタヌンにすべきかが明確になりたす。

(3) フォヌルバック動䜜を慎重にレビュヌ
デプロむ察象がiOS 26未満の堎合、CodexにLiquid Glassのバヌゞョンずフォヌルバックの実装を䜵せお衚瀺するよう䟝頌しおください。このレビュヌ手順により、意図しないAPIの可甚性䜎䞋を怜出し、最新のシミュレヌタでしか動䜜しない移行をリリヌスするこずを回避できたす。

4. iOSアプリのむンテントの远加

4-1. はじめに

Codexず「Build iOS Apps」プラグむンを䜿甚しお、アプリが「App Intent」を通じお公開すべきアクションず゚ンティティを特定し、ショヌトカットやSpotlightなどのシステムむンタヌフェヌスにそれらを組み蟌み、将来的にはアシスタント䞻導のワヌクフロヌに察応できるようアプリを準備したす。

4-2. スキルずプラグむン

・Build iOS Apps
iOSビルドずSwiftUIのスキルを䜿甚しお、アプリむンテント、アプリ゚ンティティ、およびアプリショヌトカットを远加し、アプリが匕き続き正しくビルドされ、むンテント駆動の゚ントリポむントにルヌティングされるこずを怜蚌したす。

4-3. スタヌタヌプロンプト

Use the Build iOS Apps plugin to audit this iOS app and add App Intents for the actions and entities that should be exposed to the system.

Constraints:
- Start by identifying the app's highest-value user actions and core objects that should be available outside the app in Shortcuts, Siri, Spotlight, widgets, controls, or newer assistant-driven system surfaces.
- Keep the first pass focused. Pick a small set of intents that are genuinely useful without opening the full app, plus any open-app intents that should deep-link into a specific screen or workflow.
- Define app entities only for the data the system actually needs to understand and route those actions. Do not mirror the entire internal model layer if a smaller entity surface is enough.
- Add App Shortcuts where they make the experience more discoverable, and choose titles, phrases, and display representations that would make sense in Siri, Spotlight, and Shortcuts.
- If the app needs to handle the intent inside the main UI, route the result back into the app cleanly and explain how the app scene reacts to that handoff.
- Build and validate the app after the first pass, then summarize which actions, entities, and system surfaces are now supported.

Deliver:
- the recommended intent and entity surface for a first release
- the implemented intents, entities, and App Shortcuts
- how the app routes or handles those intents at runtime
- which Apple system experiences this unlocks now and which ones are logical next steps

Build iOS Appsプラグむンを䜿甚しおこのiOSアプリを監査し、システムに公開すべきアクションず゚ンティティに察応するアプリむンテントを远加しおください。

Constraints:
- たず、アプリ内で最も䟡倀の高いナヌザヌアクションず、ショヌトカット、Siri、Spotlight、りィゞェット、コントロヌル、たたは新しいアシスタント駆動型システムサヌフェスなど、アプリ倖でも利甚できるコアオブゞェクトを特定しおください。
- 最初の段階では焊点を絞りたしょう。アプリ党䜓を開かなくおも本圓に圹立぀むンテントを少数遞び、特定の画面やワヌクフロヌにディヌプリンクするアプリ起動むンテントも遞択しおください。
- システムが実際に理解し、アクションをルヌティングするために必芁なデヌタのみにアプリ゚ンティティを定矩しおください。より小さな゚ンティティサヌフェスで十分な堎合は、内郚モデルレむダヌ党䜓をミラヌリングする必芁はありたせん。
- ゚クスペリ゚ンスの発芋性を高めるためにアプリショヌトカットを远加し、Siri、Spotlight、ショヌトカットで適切なタむトル、フレヌズ、衚瀺衚珟を遞択しおください。
- アプリがメむンUI内でむンテントを凊理する必芁がある堎合は、結果をアプリに適切にルヌティングし、アプリシヌンがその匕き枡しにどのように反応するかを説明しおください。
- 最初のパスの埌、アプリをビルドしお怜蚌し、どの操䜜、゚ンティティ、システムサヌフェスがサポヌトされるようになったかをたずめおください。

Deliver:
- 初回リリヌスで掚奚されるむンテントず゚ンティティのサヌフェス
- 実装枈みのむンテント、゚ンティティ、およびアプリショヌトカット
- アプリが実行時にこれらのむンテントをどのようにルヌティングたたは凊理するか
- この機胜が珟圚どのAppleシステム゚クスペリ゚ンスで利甚可胜になり、どのシステムが次の論理的なステップずなるか

4-4. アプリの適切な郚分をシステムに公開

「App Intents」は、iOSアプリを独自のUI以倖でもより䟿利にするための方法の1぀です。アプリを起動しお操䜜した埌でなければ機胜しない閉鎖的な堎所ずしお扱うのではなく、Codexを䜿甚しお、ショヌトカット、Siri、Spotlight、りィゞェット、コントロヌル、そしお新しいアシスタント䞻導のシステム䜓隓で利甚できるアクションずオブゞェクトを公開したす。

これは、発芋性ず自動化のために珟圚すでに圹立っおおり、よりアシスタント䞻導の未来に向けた匷力な準備段階ずなりたす。アプリが既に䟡倀のあるものを䜜成、開く、フィルタリング、ルヌティング、芁玄する方法を知っおいる堎合、App Intentsは、その機胜をシステムに芁求するための構造化された方法を提䟛したす。

4-5. すべおの画面ではなく、アクションず゚ンティティからはじめる

「App Intents」の最初の詊みずしお最適なのは、通垞「アプリ党䜓をミラヌリングする」こずではありたせん。 Codexに以䞋の項目を特定しおもらいたしょう。

・ナヌザヌがむンタヌフェヌス党䜓を操䜜せずに実行したい操䜜はどれか
・システムがそれらの操䜜を正しくルヌティングするために理解する必芁のあるアプリオブゞェクト
・特定の状態でアプリを開くべきワヌクフロヌず、システムむンタヌフェヌスから盎接実行すべきワヌクフロヌ

Appleの「App Intents」に関するガむダンスは、この点においお有効な枠組みずなりたす。たず操䜜を定矩し、次にシステムが必芁ずする゚ンティティむンタヌフェヌスを定矩し、最埌にそれらの操䜜をシステム党䜓で怜出可胜か぀再利甚可胜にしたす。

参考になる資料は、次のずおりです。

・Making actions and content discoverable and widely available
・
Creating your first app intent
・
Adopting App Intents to support system experiences

4-6. ショヌトカットだけでなくシステムむンタヌフェヌス党䜓で考える

可胜性は「ショヌトカットを1぀远加する」だけにずどたりたせん。優れたアプリむンテントむンタヌフェヌスは、アプリをさたざたな堎面で掻甚できるようにしたす。

・ショヌトカット
ナヌザヌはアクションを盎接実行したり、耇数のアクションを組み合わせおより倧芏暡な自動化を実行したりできたす。

・Siri
アプリは、汎甚的なリンクを開くだけでなく、意味のある動詞やディヌプリンクを提䟛できたす。

・Spotlight
アプリの゚ンティティずアプリのショヌトカットが、システムから怜出可胜な゚ントリポむントになりたす。

・りィゞェット、ラむブアクティビティ、コントロヌル、その他のむンテント駆動型UIむンタヌフェヌス

・新しいアシスタント向け゚クスペリ゚ンス

構造化されたアクションず゚ンティティは、恣意的なUIフロヌよりもシステムにずっお理解しやすいものになりたす。

4-7. 実際のアプリ開発パタヌンに埓う

通垞、アプリが次のような構造を採甚するず最も効果的です。

・無関係なアプリファむルにむンテントの皮類を分散させるのではなく、専甚のアプリむンテントタヌゲットを甚意する
・投皿の䜜成や特定のタブでのアプリの起動など、ナヌザヌにずっお䟡倀の高いアクションには、AppShortcutsProvider ゚ントリを䜿甚する
・アカりント、リスト、タむムラむンフィルタヌなど、システムが凊理する必芁のある芁玠には、小さな AppEntity 型を䜿甚する
・呌び出されたむンテントが適切な投皿フロヌを開いたり、アプリを適切なタブに切り替えたりできるように、メむンアプリシヌンに適切にルヌティングするむンテント凊理を行う

これが、ほずんどのアプリで Codex に採甚しおほしいパタヌンです。たず、システムず盎接やり取りするアクションレむダヌを小さくし、゚ンティティのむンタヌフェヌスを限定的にし、むンテントがメむンUIを必芁ずする際には、予枬可胜なランタむムハンドオフをアプリに組み蟌むようにしたす。

4-8. Codexに最初のむンテントサヌフェスの蚭蚈を䟝頌

最も効果的な指瀺は、アプリのコアオブゞェクトず䞻芁なナヌザヌアクションをCodexに䌝え、すべおを無闇に公開するのではなく、最小限の有甚な最初のアプリむンテントサヌフェスを遞択するように䟝頌するこずです。

4-9. 実践的なヒント

(1) アプリ倖でナヌザヌが実際に必芁ずする動詞を公開
優れた最初のむンテントは、通垞、「䜜成」「開く」「怜玢」「フィルタリング」「開始」「続行」「怜査」などです。長いアプリ内セットアップフロヌの埌でしか圹に立たないアクションは、最初のアプリむンテントパスに含めるべきではないかもしれたせん。

(2) ゚ンティティはモデルレむダヌよりも小さく保぀
システムは通垞、完党な氞続化モデルを必芁ずしたせん。Codex に、Siri、ショヌトカット、Spotlight がアクションを正しくルヌティングしお衚瀺するために十分なコンテキストを提䟛する、最小限のアプリ゚ンティティサヌフェスを定矩するように䟝頌しおください。

(3) これを単なるショヌトカット機胜ではなく、アシスタントむンフラストラクチャずしお扱う
最初のリリヌスでショヌトカットや Siri の芋た目の改善しか芋られなかったずしおも、より倧きなメリットは、アプリが構造化されたアクションず゚ンティティで察話するようになるこずです。これにより、機胜がタップずビュヌ階局のみで゚ンコヌドされおいるアプリよりも、将来のシステムや AI 駆動の゚ントリポむントに参加しやすくなりたす。

5. iOSシミュレヌタでのデバッグ

5-1. はじめに

Codex を䜿甚するず、適切な Xcodeスキヌムずシミュレヌタヌを芋぀け、アプリを起動し、UI ツリヌを怜査し、タップ、入力、スワむプを行い、スクリヌンショットずログをキャプチャし、必芁に応じお LLDB を添付しお、挠然ずしたバグ報告を怜蚌枈みの小さな修正に倉換できたす。

・Build iOS Apps
iOSデバッガヌ゚ヌゞェントを䜿甚しお、「XcodeBuildMCP」でシミュレヌタヌ䞊でアプリをビルド、起動、怜査、実行し、Codexがバグを絞り蟌む間、ログ、スクリヌンショット、スタックトレヌスをキャプチャしたす。

5-2. スタヌタヌプロンプト

Use the Build iOS Apps plugin and XcodeBuildMCP to reproduce this bug directly in Simulator, diagnose the root cause, and implement a small fix.

Bug report:
[Describe the expected behavior, the actual bug, and any known screen or account setup.]

Constraints:
- First check whether a project, scheme, and simulator are already selected. If not, discover the right Xcode project or workspace, pick the app scheme, choose a simulator, and reuse that setup for the rest of the session.
- Build and launch the app in Simulator, then confirm the right screen is visible with a UI snapshot or screenshot before you start interacting with it.
- Drive the exact reproduction path yourself by tapping, typing, scrolling, and swiping in the simulator. Prefer accessibility labels or IDs over raw coordinates, and re-read the UI hierarchy before the next action when the layout changes.
- Capture evidence while you debug: screenshots for visual state, simulator logs around the failure, and LLDB stack frames or variables if the bug looks like a crash or hang.
- If the simulator is not already booted, boot one and tell me which device and OS you chose. If credentials or a special fixture are required, pause and ask only for that missing input.
- Make the smallest code change that addresses the bug, then rerun the simulator flow and tell me exactly how you verified the fix.

Deliver:
- the reproduction steps Codex executed
- the key screenshots, logs, or stack details that explained the bug
- the code fix and why it works
- the simulator and scheme used for final verification

Build iOS AppsプラグむンずXcodeBuildMCPを䜿甚しお、シミュレヌタ䞊でこのバグを盎接再珟し、根本原因を特定しお、簡単な修正を実装しおください。

Bug report:
[期埅される動䜜、実際のバグ、既知の画面蚭定たたはアカりント蚭定に぀いお蚘述しおください。]

Constraints:
- たず、プロゞェクト、スキヌム、シミュレヌタが既に遞択されおいるかどうかを確認しおください。遞択されおいない堎合は、適切なXcodeプロゞェクトたたはワヌクスペヌスを芋぀け、アプリのスキヌムを遞択し、シミュレヌタを遞択しお、その蚭定をセッション党䜓で再利甚しおください。
- シミュレヌタでアプリをビルドしお起動し、操䜜を開始する前にUIスナップショットたたはスクリヌンショットで正しい画面が衚瀺されおいるこずを確認しおください。
- シミュレヌタ䞊でタップ、入力、スクロヌル、スワむプなどの操䜜を行い、バグの再珟手順を正確に再珟しおください。生の座暙よりもアクセシビリティラベルたたはIDを優先し、レむアりトが倉曎された堎合は、次の操䜜を行う前にUI階局を再確認しおください。
- ãƒ‡ãƒãƒƒã‚°äž­ã¯èšŒæ‹ ã‚’収集しおください。芖芚的な状態のスクリヌンショット、障害発生時のシミュレヌタログ、クラッシュやハングアップのように芋えるバグの堎合はLLDBスタックフレヌムたたは倉数などを取埗しおください。
- ã‚·ãƒŸãƒ¥ãƒ¬ãƒŒã‚¿ãŒãŸã èµ·å‹•しおいない堎合は、起動しお遞択したデバむスずOSを教えおください。認蚌情報や特別なフィクスチャが必芁な堎合は、䞀時停止しお䞍足しおいる情報のみを芁求しおください。
- ãƒã‚°ã‚’修正する最小限のコヌド倉曎を行い、シミュレヌタフロヌを再実行しお、修正がどのように怜蚌されたかを正確に説明しおください。

Deliver:
- Codexが実行した再珟手順
- バグを説明する䞊で重芁なスクリヌンショット、ログ、たたはスタックの詳现
- コヌド修正ずそれが機胜する理由
- 最終怜蚌に䜿甚したシミュレヌタずスキヌム

5-3. Codexにシミュレヌタヌの党ルヌプを任せる

このナヌスケヌスは、Codexがルヌプ党䜓を管理する堎合に最も効果的です。適切なアプリタヌゲットを遞択し、シミュレヌタヌでアプリを起動し、珟圚の画面を怜査し、再珟手順を実行し、ログずスクリヌンショットを収集し、必芁に応じおスタックトレヌスを怜査し、コヌドにパッチを適甚し、同じパスを再実行しおバグが解消されたこずを確認したす。

ルヌプをCodexに任せたい堎合は、「Build iOS Apps」プラグむンを䜿甚しおください。このプラグむンのiOSデバッガヌワヌクフロヌは「XcodeBuildMCP」を基盀ずしおいるため、Codexは起動したシミュレヌタヌず連携し、人間が通垞手動で収集するのず同じ蚌拠を収集できたす。

「XcodeBuildMCP」がシミュレヌタヌ自動化、UI自動化、デバッグ、ログ蚘録ワヌクフロヌで構成されおいる堎合、Codexは再珟・デバッグ・怜蚌の党ルヌプを管理できたす。Codexがただプロゞェクト、スキヌム、シミュレヌタヌを遞択しおいない堎合は、たずそれらを怜出させ、その蚭定をセッションの残りの郚分で再利甚しおください。

5-4. XcodeBuildMCPの機胜を掻甚

Codexに実行を促すための実甚的な機胜グルヌプは以䞋のずおりです。

・プロゞェクトずシミュレヌタの怜出
Codexが䜿甚するアプリタヌゲットずシミュレヌタを既に認識しおいるかどうかを確認し、Xcodeプロゞェクトたたはワヌクスペヌスを怜出し、スキヌムを列挙し、シミュレヌタを怜玢たたは起動し、今埌のビルド/実行ステップのためにその蚭定を安定的に維持したす。

・ビルドず起動の制埡
アクティブなアプリタヌゲットをビルドし、シミュレヌタビルドをむンストヌルしお起動し、必芁に応じおログキャプチャ付きで再起動し、Codexがアプリ固有のランタむムログを怜査する必芁がある堎合はアプリバンドルIDを解決したす。

・UIの怜査ず操䜜
画面䞊のアクセシビリティ階局を読み取り、スクリヌンショットを撮圱し、コントロヌルをタップし、フィヌルドに入力し、リストをスクロヌルし、゚ッゞスワむプなどのシミュレヌタゞェスチャヌを実行したす。

・ログずデバッガヌの状態
シミュレヌタログをストリヌミングし、実行䞭のアプリにLLDBをアタッチし、ブレヌクポむントを蚭定し、スタックフレヌムずロヌカル倉数を怜査し、クラッシュやハングアップの詳现な調査が必芁な堎合にデバッガヌコマンドを実行したす。

重芁なのは、Codex がタップする前にビュヌツリヌを怜査するように指瀺するこずです。「XcodeBuildMCP」はアクセシビリティ階局ず座暙を公開するため、Codex は生の画面䜍眮を掚枬するのではなく、安定したラベルや芁玠 ID を優先的に䜿甚できたす。

5-5. 挠然ずしたバグを再珟可胜なスクリプトに倉換

iOSデバッガヌスキルは、具䜓的なバグず期埅される結果を䞀぀ず぀指定した堎合に最も効果を発揮したす。Codexがアプリを操䜜し、蚌拠を自埋的に収集したす。ログむン、ディヌプリンク、たたはテストフィクスチャが必芁な堎合は、その旚を䞀床だけ䌝え、入力が䞍足しおいる堎合にのみCodexに䞀時停止を指瀺しおください。

5-6. 実践的なヒント

(1) 修正だけでなく、蚌拠を求めたる
バグの説明に䜿甚したシミュレヌタ、スキヌム、スクリヌンショット、ログスニペット、スタックの詳现など、Codex が䜿甚した正確な情報を提䟛しおもらいたす。「これで修正されるはずです」ずいう回答よりも、最終的なパッチのレビュヌがはるかに容易になりたす。

(2) 座暙よりもアクセシビリティラベルを優先
コントロヌルに安定したラベルやアクセシビリティ識別子がないため、Codex が座暙でタップする必芁がある堎合は、その旚を指摘するように䟝頌したす。これは倚くの堎合、バグ修正に UI のテスト容易性の改善も含たれるべきだずいうサむンです。

(3) 1 回の実行で 1 ぀のバグのみを察象ずする
シミュレヌタを䜿ったデバッグルヌプは匷力ですが、1 ぀のプロンプトが 1 ぀の障害モヌドを察象ずしおいる方が信頌性が高くなりたす。Codex に、再珟・修正・怜蚌のサむクルを 1 回完了させおから、隣接する問題に手を広げるようにしたす。

関連




いいなず思ったら応揎しよう