前提条件
チュートリアルを続ける前に…
- GitHubを使用していることを確認
- Capacitorを使用
- アプリがすでにApple Storeにデプロイされている
- 読む意欲がある😆…
Ionicの使用はオプションです。Cordovaでも動作する可能性がありますが、試していません。
価格に関する重要事項
https://developer.apple.com/xcode-cloud/
このサービスは制限内まで’無料’です。 スクリーンショットで価格と制限を確認できます(価格はチュートリアル作成時点のもので、将来変更される可能性があります)
🔴 要件と価格について警告しましたので、よろしければ続けましょう…
📣 この投稿では、Apple Storeにアプリが作成済みであることを前提としています
はじめに
XcodeでCapacitorアプリをビルドするには、いくつかの設定が必要です。
パッケージの準備
package.json
スクリプトにビルドコマンドがあることを確認してください。
そして、以下のようにsync:ios
コマンドを追加します。
{ "scripts": { "build": "YOUR BUILD COMMAND", "sync:ios": "cap sync ios" }}
この手順により、ポストスクリプトが簡単に動作するようになります
ポストクローンスクリプト
このスクリプトは、クローン手順の後にXcode cloudによって実行されます
#!/usr/bin/env bash
set -x
export HOMEBREW_NO_INSTALL_CLEANUP=TRUE# Install CocoaPodsecho "📦 Install CocoaPods"brew install cocoapodsbrew install node@18brew link node@18
# Install dependencies# XCode Cloud is literally broken for 2 months now - https://developer.apple.com/forums/thread/738136?answerId=774510022#774510022npm config set maxsockets 3npm ci# or `pnpm install --frozen-lockfile` or `yarn install --frozen-lockfile` or bun installnpm run build# or npm run buildnpm run sync:ios
このファイルをプロジェクトのルートに保存し、ios/App/ci_scripts/ci_post_clone.sh
という名前を付けてください
次に、このコマンドでファイルを実行可能にします:chmod +x ios/App/ci_scripts/ci_post_clone.sh
Xcodeワークフローの作成
Xcodeを開きます(はい、Xcodeを削除するにはXcodeが必要です)
以下のタブに移動します:
ワークフローの作成をクリックし、アプリを選択して、以下のように次へをクリックします。
左側のEdit workflowをクリックします
環境タブに移動し、以下のようにMac 12.4を選択し、適切なオプションをチェックします
開始条件を選択します。 私たちと同じビルドを使用する場合、二重ビルドを避けるためにブランチの代わりにTagを使用することをお勧めします。
環境変数を設定します
GitHubアカウントを接続します
その後、ワークフローを有効にして最初の変更をコミットすると、Xcodeでビルドが実行されているのが確認できるはずです。
ビルド処理
Xcode Cloudでは、CI/CDワークフローの実行に使用した分数に基づいて課金されます。経験上、Apple Storeでビルドが処理されるまでに約10〜15分かかります。
プライベートプロジェクトの場合、ビルドあたりの推定コストは**$0.008/分 x 5分 = $0.4**、またはそれ以上になる可能性があり、これはプロジェクトの構成や依存関係によって異なります。
オープンソースプロジェクトの場合、これは全く問題にはならないはずです。価格設定を参照してください。