ios-deploy について
ios-deployは、iOSのビルド署名やリリース作業を自動化するOpenClawスキルで、開発者やCIパイプラインを対象とします。Xcodeでのアーカイブ、TestFlightやApp Store Connectへのアップロード、プロビジョニング管理に対応します。
主な機能
- 01Xcodeのコマンドラインツールでアプリをアーカイブ
- 02ビルドをTestFlightにアップロード
- 03証明書とプロビジョニングプロファイルを管理
- 04FastlaneのレーンでCIを自動化
- 05Xcode Cloudのビルドと連携
- 06App Storeのメタデータを更新
活用シーン
- 01CIビルドをTestFlightにデプロイ
- 02配布用の署名済みアーカイブを準備
- 03企業ワークフローのプロビジョニング問題を調査
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ alphaonedev/ openclaw-graph --skill ios-deployインストール後、Claude Code で/ios-deployを入力して読み込まれたか確認します。
詳細
ios-deploy
目的
このスキルは、Xcode を使ったアプリのアーカイブ、TestFlight または App Store Connect へのアップロード、証明書とプロビジョニングプロファイルの管理、Fastlane や Xcode Cloud などのツールとの連携を含む、iOS アプリのデプロイワークフローを自動化します。iOS プロジェクトの CI/CD を効率化します。
使用するタイミング
ベータテスト用に iOS アプリを TestFlight にデプロイするとき、App Store に提出するとき、または CI パイプラインで署名とプロビジョニングを処理するときに、このスキルを使用します。Fastlane による自動化、Xcode Cloud でのビルド、またはエンタープライズ環境での証明書の問題のトラブルシューティングを行う場面で適用します。
主な機能
- Xcode のコマンドラインツールを使い、指定したビルド構成で iOS アプリをアーカイブします。
- 認証を必要とする App Store Connect API 経由で、ビルドを TestFlight にアップロードします。
- Fastlane の match または sigh アクションを使って、証明書とプロビジョニングプロファイルを管理します。
- コード署名やベータ版のデプロイを含む、CI 用の Fastlane レーンでワークフローを自動化します。
- クラウドベースのビルドと自動テストのために Xcode Cloud と連携します。
- Spaceship API を使って、リリースノートやスクリーンショットなどの App Store メタデータの更新を処理します。
使用パターン
まず Xcode と Fastlane がインストールされていることを必ず確認します。CI との連携では、$FASTLANE_APP_ID のような環境変数を確認するスクリプトでコマンドをラップします。コード変更時にビルドが開始され、その後に自動テストとデプロイが実行されるパイプラインで使用します。ローカル開発では、自動化する前にコマンドを対話的に実行して出力を確認します。アーカイブ前にプロビジョニングプロファイルの存在を確認するなど、失敗時に停止するエラーチェックをスクリプトに含めます。
主なコマンド/API
ほとんどのタスクには Fastlane を使用します。主な操作の実行方法は次のとおりです。
- アプリをアーカイブしてビルドする:
xcodebuild archive -scheme MyApp -archivePath build/MyApp.xcarchive -configuration Releaseを実行します。続けてxcodebuild -exportArchive -archivePath build/MyApp.xcarchive -exportPath build/export -exportOptionsPlist exportOptions.plistを実行します。 - TestFlight にアップロードする:Fastlane の
fastlane upload_to_testflightを使います。Fastfile の設定例:lane :beta do |options| upload_to_testflight(changelog: options[:changelog]) end。環境変数に$APP_STORE_CONNECT_API_KEYが必要です。 - 証明書を管理する:
fastlane match developmentを実行してプロファイルを作成またはダウンロードします。Matchfile でtype: "development"とgit_url: "[email protected]:user/repo.git"を設定します。 - Xcode Cloud API:
$XCODE_CLOUD_TOKENで認証し、JSON ペイロード{ "workflowId": "12345", "sourceBranch": "main" }を指定して、API エンドポイントhttps://api.apple.com/v1/buildsに POST し、ビルドを開始します。 - App Store Connect API:Ruby スクリプトで
spaceship::Tunes::App.find("com.example.app")を使ってアプリ情報を取得します:require 'spaceship'; Spaceship::Tunes.login; app = Spaceship::Tunes::App.find('bundle_id')。
連携に関する注意事項
gem install fastlane を使って Fastlane をプロジェクトに追加し、ルートディレクトリに Fastfile を作成して連携します。認証では、App Store Connect にアクセスするために export FASTLANE_SESSION=$APP_STORE_CONNECT_API_KEY のような環境変数を設定します。Xcode Cloud は App Store Connect で有効にし、スクリプトでワークフロー ID を参照して使用します。GitHub Actions などの CI ツールでは、YAML ファイルに run: fastlane beta のようなステップを含め、依存関係がキャッシュされるようにします。複数の環境を扱う場合は Fastlane のレーンを使います。たとえば、異なるプロビジョニングプロファイルを使うステージング用レーンを定義します。
エラー処理
よくあるエラーには無効な証明書があります。fastlane match nuke development を実行してリセットし、再試行してください。アップロードに失敗する場合は、fastlane spaceauth -o で API キーを確認し、バンドル ID が一致していることを確認してください。コード署名が原因でアーカイブに失敗する場合は、fastcode sign --force を実行し、exportOptions.plist でプロファイルを指定します:<key>signingStyle</key><string>Manual</string>。スクリプトでネットワークエラーが発生した場合は、再試行を追加してください。たとえば bash では、次のようにします:for i in {1..3}; do fastlane upload_to_testflight && break || sleep 5; done。デバッグ用に fastlane --verbose で出力をログに記録してください。
具体的な使用例
- TestFlight にデプロイ:CI スクリプトで、まずビルドします:
xcodebuild -scheme MyApp -configuration Release clean build。次にアップロードします:fastlane run upload_to_testflight api_key: $APP_STORE_CONNECT_API_KEY changelog: "Fixed bugs"。これは、レーンが定義された Fastfile があり、環境変数が設定されていることを前提としています。 - プロビジョニングとアーカイブを管理:
fastlane match adhocを実行してプロファイルを取得し、次にアーカイブします:xcodebuild archive -scheme MyApp -archivePath build/MyApp.xcarchive。次のコマンドでエクスポートします:xcodebuild -exportArchive -archivePath build/MyApp.xcarchive -exportOptionsPlist ExportOptions.plist。アドホック配布のワークフローで使用します。
グラフの関係
- 関連:モバイルクラスター(クロスプラットフォームデプロイ向けの android-deploy スキルなど)。
- 接続:デプロイタグ経由(ci-cd など、一般的なデプロイスキルへのリンク)。
- 関連付け:fastlane タグと ios タグ(fastlane 固有のツールやその他の iOS スキルなど)。
- 依存関係:appstore タグは、API キーと認証を扱うスキルとの連携を示します。