For the complete documentation index, see llms.txt. Markdown versions of documentation pages are available by appending .md to the page URL.
メインナビゲーション
Codex

Codex use case

macOS 向け開発

Codex を使って、SwiftUI によるネイティブ Mac アプリのひな形作成、ビルド、デバッグを行います。

Difficulty 上級
Time horizon 1時間

Codex を使って macOS 向け SwiftUI アプリを構築し、シェル中心のビルド・実行ループを整備します。アプリの成長に合わせて、デスクトップネイティブなシーンとウィンドウ、AppKit 連携、署名のワークフローも追加します。

最適な用途

  • Codex で、デスクトップネイティブなアプリシェルと繰り返し使えるビルドスクリプトのひな形を作成したい、新規の macOS SwiftUI アプリ
  • ウィンドウ、メニュー、サイドバー、設定、AppKit 連携、署名の問題を Codex で扱う必要がある既存の Mac アプリ
  • macOS 開発でネイティブなデスクトップ UX の慣例を尊重しながら、シェル中心の進め方を維持したいチーム

Contents

    ← すべてのユースケース

    macOS 向け開発

    Codex を使って、SwiftUI によるネイティブ Mac アプリのひな形作成、ビルド、デバッグを行います。

    Codex を使って macOS 向け SwiftUI アプリを構築し、シェル中心のビルド・実行ループを整備します。アプリの成長に合わせて、デスクトップネイティブなシーンとウィンドウ、AppKit 連携、署名のワークフローも追加します。

    上級
    1時間

    Codex を使って macOS 向け SwiftUI アプリを構築し、シェル中心のビルド・実行ループを整備します。アプリの成長に合わせて、デスクトップネイティブなシーンとウィンドウ、AppKit 連携、署名のワークフローも追加します。

    上級
    1時間

    最適な用途

    • Codex で、デスクトップネイティブなアプリシェルと繰り返し使えるビルドスクリプトのひな形を作成したい、新規の macOS SwiftUI アプリ
    • ウィンドウ、メニュー、サイドバー、設定、AppKit 連携、署名の問題を Codex で扱う必要がある既存の Mac アプリ
    • macOS 開発でネイティブなデスクトップ UX の慣例を尊重しながら、シェル中心の進め方を維持したいチーム

    スキルとプラグイン

    • シェル中心のワークフローで macOS アプリをビルドおよびデバッグし、デスクトップネイティブな SwiftUI のシーンとウィンドウを設計します。必要に応じて AppKit と連携し、署名と公証の手順を整えます。
    Skill Why use it
    Build macOS Apps シェル中心のワークフローで macOS アプリをビルドおよびデバッグし、デスクトップネイティブな SwiftUI のシーンとウィンドウを設計します。必要に応じて AppKit と連携し、署名と公証の手順を整えます。

    開始用プロンプト

    Build macOS Apps プラグインを使って、スターター用の macOS SwiftUI アプリのひな形を作成してください。また、プロジェクトローカルの `script/build_and_run.sh` エントリポイントを追加し、`Run` アクションに接続できるようにしてください。 制約: - シェル中心の進め方を維持してください。`xcodebuild` は Xcode プロジェクトで、`swift build` はパッケージ中心のアプリで優先してください。 - Mac のシーンは、メインウィンドウに加え、製品に適している場合に限り `Settings`、`MenuBarExtra`、またはユーティリティウィンドウを明示的にモデル化してください。 - iOS 形式のプッシュナビゲーションよりも、デスクトップネイティブなサイドバー、ツールバー、メニュー、キーボードショートカット、システムマテリアルを優先してください。 - 限定的な AppKit ブリッジは、必要なデスクトップ動作を SwiftUI で明快に表現できない場合に限って使用してください。 - 変更ごとに小さな検証ループを 1 つに絞り、実行したビルド、起動、ログ確認の各コマンドを正確に示してください。 提供内容: - アプリのひな形、または依頼した Mac 機能の実装範囲 - 再利用可能なビルド・実行スクリプト - 実施した最小限の検証手順 - 推奨するデスクトップ固有の追加作業
    Build macOS Apps プラグインを使って、スターター用の macOS SwiftUI アプリのひな形を作成してください。また、プロジェクトローカルの `script/build_and_run.sh` エントリポイントを追加し、`Run` アクションに接続できるようにしてください。 制約: - シェル中心の進め方を維持してください。`xcodebuild` は Xcode プロジェクトで、`swift build` はパッケージ中心のアプリで優先してください。 - Mac のシーンは、メインウィンドウに加え、製品に適している場合に限り `Settings`、`MenuBarExtra`、またはユーティリティウィンドウを明示的にモデル化してください。 - iOS 形式のプッシュナビゲーションよりも、デスクトップネイティブなサイドバー、ツールバー、メニュー、キーボードショートカット、システムマテリアルを優先してください。 - 限定的な AppKit ブリッジは、必要なデスクトップ動作を SwiftUI で明快に表現できない場合に限って使用してください。 - 変更ごとに小さな検証ループを 1 つに絞り、実行したビルド、起動、ログ確認の各コマンドを正確に示してください。 提供内容: - アプリのひな形、または依頼した Mac 機能の実装範囲 - 再利用可能なビルド・実行スクリプト - 実施した最小限の検証手順 - 推奨するデスクトップ固有の追加作業

    アプリとビルドループのひな形作成

    新しい Mac アプリでは、まず Codex に、適切なシーンモデルとして WindowGroupWindowSettingsMenuBarExtraDocumentGroup のいずれかを選ばせます。そうすれば、iOS 風の ContentView を起点に拡張していくのではなく、最初からデスクトップネイティブなアプリにできます。

    実行ループはシェル中心に保ちます。Xcode プロジェクトでは xcodebuild を使います。パッケージ中心のアプリでは swift build と、古いプロセスの停止、アプリのビルド、新しい成果物の起動を行い、必要に応じてログやテレメトリも参照できるようにするプロジェクトローカルの script/build_and_run.sh ラッパーを使います。

    SwiftPM のみで構成されたアプリが GUI アプリの場合は、生の実行可能ファイルを直接実行するのではなく、.app としてバンドルして起動します。これにより、ローカル検証時に Dock への表示、アクティベーション、バンドル識別情報が欠ける問題を回避できます。

    スキルの活用

    作業内容がデスクトップ固有になってきたら Build macOS Apps プラグイン を追加します。このプラグインには、シェル中心のビルド・デバッグループ、SwiftPM アプリのパッケージング、ネイティブな SwiftUI のシーンとウィンドウのパターン、AppKit 連携、統合ロギング、テストのトリアージ、署名と公証のワークフローが含まれています。

    プラグインとスキルのインストール方法や使い方について詳しくは プラグインのドキュメントスキルのドキュメント を参照してください。

    デスクトップネイティブ UI の構築

    iOS のナビゲーションパターンより、Mac の慣例を優先します。サイドバー/詳細レイアウトには NavigationSplitView、環境設定には明示的な Settings シーン、見つけやすい操作にはツールバーとコマンド、常時利用できる軽量ユーティリティにはメニューバーの追加項目を使用します。

    まず、システムマテリアル、セマンティックカラー、標準コントロールを使用します。製品で独自のデスクトップ表現が必要な場合に限り、カスタムウィンドウスタイル、ドラッグ領域、Liquid Glass サーフェスを追加します。

    SwiftUI だけでは必要な動作を完全に実現できない場合は、可能な限り小さな AppKit ブリッジを追加します。たとえば、開く/保存パネル、ファーストレスポンダー制御、メニュー検証、ドラッグ&ドロップの細かな制御、特殊なコントロール 1 つのためにラップした NSView などです。

    デバッグ、テスト、リリース準備

    実行時の動作を確認するには、ウィンドウを開く処理、サイドバーの選択、メニューコマンド、バックグラウンド同期の周辺に Logger イベントをいくつか追加するよう Codex に依頼し、アプリ起動後に log stream でそれらのイベントを検証します。

    テストが失敗した場合は、まず問題の切り分けに必要な最小範囲で xcodebuild test または swift test を Codex に実行させ、問題がコンパイルエラー、アサーション失敗、クラッシュ、テストの不安定性、環境/セットアップの問題のいずれに起因するかを分類させます。

    ローカルでの反復作業から配布へ移行するときは、Xcode での手動アーカイブ手順と、繰り返しリリースできるスクリプトベースのアーカイブ・公証手順の両方を用意するよう Codex に依頼します。codesignplutil でアプリバンドル、エンタイトルメント、Hardened Runtime を検査させ、アップロードもターミナル内で完結させたい場合は App Store Connect CLI を使用します。

    プロンプト例

    Build macOS Apps プラグインを使って、このアプリ機能のネイティブ macOS SwiftUI 版を構築してください。 制約: - デスクトップネイティブなシーン構造を採用し、適切な箇所ではメインウィンドウ、設定、toolbar/command アクションを使用してください。 - 常時表示される構造がこの機能に適している場合は、sidebar/detail レイアウトを iOS 形式のプッシュナビゲーションより優先してください。 - ごく小さな AppKit ブリッジは、特定のデスクトップ動作を SwiftUI で明快に表現できない場合に限って追加してください。 - `script/build_and_run.sh` を作成または更新し、build/run ループをシェル中心に保ってください。 - 使用したビルド、起動、テスト、ログ確認の各コマンドを示してください。 対象機能を実装し、関連する最小限のビルドまたはテストループで検証して、配布前に必要な署名やパッケージングの追加作業をまとめてください。

    実践的なヒント

    シーンの明示的な定義

    アプリ全体を 1 つの巨大なビューに押し込むのではなく、メインウィンドウ、設定ウィンドウ、ユーティリティウィンドウ、メニューバーの追加項目をそれぞれ独立したシーンルートとしてモデル化します。

    システム標準 UI の活用

    カスタムのサイドバー、ツールバー、マテリアルを作成する前に、標準の SwiftUI シーン API とウィンドウ API で目的の Mac 動作をすでに実現できるか確認します。

    AppKit 連携の最小化

    不足しているデスクトップ機能 1 つを補うために、NSViewRepresentableNSViewControllerRepresentable、または対象を絞った NSWindow ヘルパーを使用します。ただし、選択状態とアプリ状態の情報源は SwiftUI に一本化します。

    ローカルビルドと分けた署名・公証の検証

    ローカルで正常に起動できても、アプリが署名済みで、公証の準備も整っていることの証明にはなりません。単発のリリース確認用に Xcode の手動アーカイブフローを維持し、再現可能な配布用にスクリプト化したアーカイブ・公証フローを追加します。ローカルでの反復作業だけでなくリリースが目的のタスクでは、codesignplutil によるチェックも実行します。

    Tech stack

    Need

    UI フレームワーク

    Default options

    SwiftUI

    Why it's needed

    ウィンドウ、サイドバー、ツールバー、設定、シーン駆動型の Mac アプリ構造の実装に適した第一候補です。

    Need

    AppKit ブリッジ

    Default options

    AppKit

    Why it's needed

    SwiftUI だけでは必要なデスクトップ動作を十分に表現できない場合は、小規模な NSViewRepresentableNSViewControllerRepresentable、または NSWindow ブリッジを使用します。

    Need

    ビルドとパッケージング

    Default options

    xcodebuildswift build App Store Connect CLI

    Why it's needed

    ローカルビルド、手動アーカイブ、スクリプトによる公証、App Store へのアップロードを、繰り返し実行できるターミナル中心のループにまとめます。

    Need Default options Why it's needed
    UI フレームワーク SwiftUI ウィンドウ、サイドバー、ツールバー、設定、シーン駆動型の Mac アプリ構造の実装に適した第一候補です。
    AppKit ブリッジ AppKit SwiftUI だけでは必要なデスクトップ動作を十分に表現できない場合は、小規模な NSViewRepresentable NSViewControllerRepresentable 、または NSWindow ブリッジを使用します。
    ビルドとパッケージング xcodebuild swift build App Store Connect CLI ローカルビルド、手動アーカイブ、スクリプトによる公証、App Store へのアップロードを、繰り返し実行できるターミナル中心のループにまとめます。

    関連するユースケース