mcpField
M
macos-xcode

macos-xcode

github.com/alphaonedev開発44 回インストール
リポジトリ

macos-xcode について

macos-xcodeは、macOS上のXcode開発作業を自動化するスキルです。iOSおよびmacOSプロジェクトのコマンドラインビルド、シミュレーターテスト、署名、プロファイリングを扱います。

主な機能

  1. 01xcodebuildによるビルド、アーカイブ、テスト
  2. 02xcrun simctlによるシミュレーター管理
  3. 03署名IDとプロビジョニングプロファイルの管理
  4. 04Instrumentsによるアプリのプロファイリング
  5. 05XcodeツールとSDKの検索

活用シーン

  1. 01iOSアプリのビルドとアーカイブ
  2. 02シミュレーターでのアプリのインストールと起動
  3. 03署名証明書とプロファイルの確認
  4. 04アプリのパフォーマンス分析

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/alphaonedev/openclaw-graph --skill macos-xcode

インストール後、Claude Code で/macos-xcodeを入力して読み込まれたか確認します。

詳細

macos-xcode

目的

このスキルは、macOS 上で Xcode 関連のタスクに対応できるよう AI を支援し、コマンドラインツールを使った iOS/macOS アプリケーションのビルド、テスト、デプロイに重点を置いています。コード署名、シミュレーター管理、プロファイリングなどの中核機能を網羅し、開発ワークフローを自動化します。

使用する場面

iOS アプリのコンパイル、シミュレーターでのテスト、プロビジョニングプロファイルの管理を伴うタスクにこのスキルを使用します。macOS ビルドの CI/CD パイプライン、Instruments を使ったデバッグ、xcodebuild プロセスの自動化にも適用できます。Apple 以外のプラットフォームや、GUI のみで行う Xcode の操作には使用しないでください。

主な機能

  • xcodebuild コマンドを実行して、プロジェクトのビルド、アーカイブ、テストを行います。
  • xcrun simctl を使ってシミュレーターを管理し、デバイスの起動やアプリのインストールを行います。
  • security コマンド、プロビジョニングプロファイル、証明書を使ってコード署名を処理します。
  • Instruments を使ってアプリケーションをプロファイリングし、パフォーマンスを分析します。
  • xcrun を使って Xcode のインストール状況を調べ、ツールと SDK の場所を特定します。
  • スキームの選択や構成の管理など、iOS/macOS アプリのワークフローを自動化します。
  • macOS キーチェーンと連携し、署名 ID を安全に扱います。

使用パターン

Xcode がインストールされた macOS 環境で、必ずコマンドを実行してください。xcodebuild/xcrun の呼び出し前に、Xcode が利用可能か確認します。たとえば、$xcode-select -p が有効なパスを返すことを確認してください。AI の応答で使用する場合は、これらのコマンドをラップする bash スクリプトを生成し、エラー出力のリダイレクト(例:> output.log 2>&1)を行ってください。自動化では、subprocess をインポートし、subprocess.run(['xcodebuild', '-list']) を呼び出す Python スクリプトに組み込みます。$DEVELOPER_DIR などの環境変数を使って Xcode のインストール先を指定し、パスを動的に処理してください。

一般的なコマンド/API

  • プロジェクトをビルドする:xcodebuild -project MyApp.xcodeproj -scheme MyScheme -configuration Release build
  • スキームを一覧表示する:xcodebuild -list(スクリプトでは、出力を解析して利用可能なスキームを取得します)。
  • シミュレーターを起動する:xcrun simctl boot "iPhone 15";続けて xcrun simctl install booted MyApp.ipa を実行します。
  • コード署名:xcodebuild -exportArchive -archivePath MyApp.xcarchive -exportPath output.ipa -exportOptionsPlist ExportOptions.plist({"method": "app-store"} を含む ExportOptions.plist を作成します)。
  • Instruments を実行する:instruments -w "iPhone 15" -t Time Profiler MyApp
  • ツールを調べる:xcrun --find xcodebuild でパスを取得します。コード内では、path = subprocess.check_output(['xcrun', '--find', 'xcodebuild']).decode().strip() を使用します。
  • プロビジョニングプロファイル:security find-identity -v -p codesigning を使って証明書を一覧表示し、次に -signingIdentity "iPhone Developer: Name (ID)" を指定して xcodebuild で使用します。

統合に関する注意

機密データには環境変数を設定します。たとえば、コード署名 ID には $XCODE_SIGNING_IDENTITY を使用します。CI/CD では、xcode-select --install で Xcode がインストールされていることを確認し、$DEVELOPER_DIR=/Applications/Xcode.app を設定してください。他のスキルと組み合わせる場合は、出力をパイプで渡します(例:ファイル操作には macos-core を使用します)。API のようなやり取りでは、xcrun/xcodebuild を RESTful サービスでラップします。ただし、Apple のサービスにアクセスする場合は $APPLE_DEVELOPER_KEY などの環境変数を使用してください。特定の simctl 機能には >=14.0 が必要な場合があるため、Xcode のバージョンとの互換性を必ず確認してください。

エラー処理

「Code Sign error: No matching provisioning profile found」などの一般的なエラーは、security cms -D -i profile.mobileprovision を使ってプロファイルを確認し、対処してください。xcodebuild -fixit を実行するか、ExportOptions.plist を更新します。シミュレーターの問題(例:「Device not booted」)については、xcrun simctl list devices で状態を確認し、スクリプトで起動します。デバイスが起動していない場合は、xcrun simctl boot <udid> を実行します。xcodebuild の失敗は終了コード(例:ビルドエラーを示すコード 65)を解析し、ログ出力を記録して処理します。スクリプトでは try-except を使用します:try: subprocess.run([...]) except subprocess.CalledProcessError as e: print(e.output)。詳細なログを得るため、必ず --verbose フラグを指定してください。

具体的な使用例

例 1:iOS アプリのビルドとアーカイブ

プロジェクトをビルドしてアーカイブするには、まず Xcode が選択されていることを確認します:xcode-select -s /Applications/Xcode.app。次に、以下を実行します:

xcodebuild -workspace MyApp.xcworkspace -scheme MyScheme -configuration Release archive -archivePath build/MyApp.xcarchive
xcodebuild -exportArchive -archivePath build/MyApp.xcarchive -exportPath output -exportOptionsPlist options.plist

これにより IPA ファイルが出力されます。テスト用のアプリのパッケージ化を自動化するため、AI の応答で使用してください。

例 2:シミュレーターの起動とアプリのインストール

シミュレーターでテストするには、デバイスを起動してアプリをインストールします:

xcrun simctl boot "iPhone 15"
xcrun simctl install booted MyApp.ipa
xcrun simctl launch booted com.example.MyApp

xcrun simctl status booted で監視します。自動 UI テスト用の AI ワークフローに組み込んでください。

グラフの関係

  • 接続先:macos(クラスター)。macOS の依存関係を共有しているためです。
  • 関連:ios(タグ)。iOS のビルドプロセスが重複するためです。
  • リンク先:build(タグ)。ほかのビルドツールと統合するためです。
  • 関連付け:signing(タグ)。関連スキルでの証明書管理のためです。
  • 重複:xcode(タグ)。macOS 開発エコシステムのコアコンポーネントであるためです。

コメント