iOS向けのCodemagicを使用した継続的な配信
前提条件
このチュートリアルを続ける前に…
- iOS開発者プログラムのメンバーシップ
- 読むのが欲しい😆…
価格についての重要なこと

サービスは‘無料 1 か月あたり 500 分の macOS M1 時間、選択したマシンに応じて。
このチュートリアルでは、 MacOS M1 マシンを使用します。スクリーンショットに表示されている価格と制限を確認してください (価格はこのチュートリアルの作成時点のもので、将来の変更が可能です)
🔴 要件と価格についての注意を出してから、続ける場合はこちら
📣 このチュートリアルでは、iTunes Connectでアプリを作成し、Appleのエコシステムの証明書を所有していることを前提としています。Codemagicがすべての設定を完了します!
では始めましょう!
このチュートリアルで説明する手順
- App Store Connect API を使用して Codemagic
- 必要なもの
- App Store Connect API キーを作成する
- App Store Connect API を使用する
- ファストレーンのファイルをコピーする
- コデマジックを設定する
1. App Store Connect API を使用してコデマジックを設定する
2021年2月以降、すべてのユーザーがApp Store Connectにサインインするには、2要素認証または2段階認証が必要になります。Apple IDのセキュリティの追加レイヤーは、自分のアカウントにアクセスできるのは自分だけであることを保証するため、セキュリティ上のリスクを軽減します。
From Apple Support
matchを始めるには、既存の証明書を取り消す必要がありますが、心配はいりません。新しい証明書は直接取得できます。
要件
App Store Connect API を使用するには、コデマジックには 3 ものが必要です。
- 発行者ID。
- キーID。
- キーファイルまたはキー内容。
App Store ConnectのAPIキーを作成する
App Store Connectのキーを生成するには、Adminの権限が必要です。権限がない場合は、この記事を参照し、以下の手順に従ってください。
1 — App Store Connectにログインします。 App Store Connect.
2 — 選択 App Store Connectのユーザーとアクセス.

App Store ConnectのAPI キー

4 — API を生成するには、Generate ボタンをクリックしてください。

5 — キーの名前を入力し、権限を選択してください。アクセス権限を選択することをお勧めします。 App Manager アクセス権限については、Apple Developer Program のロールパーミッションを参照してください。 ここ

6 — Generate をクリックしてください。
API キーのアクセス権限は、特定のアプリに制限することはできません。
新しいキーの名前、キーアイデンティファー、ダウンロードリンク、その他の情報が表示されます。

必要な情報をすべてここで取得してください。
<1> Issue ID。
<2> Key ID。
&lt;3&gt; API をダウンロードしてください。 API のプライベート キーをダウンロードしてください。ダウンロード リンクは、プライベート キーがまだダウンロードされていない場合にのみ表示されます。Apple はプライベート キーを保持していないため、ダウンロードすることができます。ただし、プライベート キーは一度だけダウンロードできます。
🔴 Store your private key in a safe place. You should never share your keys, store keys in a code repository, or include keys in client-side code.
App Store Connect の API キーを Codemagic に追加する
-
Codemagic のチーム設定を開きます
code の署名 ID を選択します
証明書をアップロードします

-
ボタンをクリックします キーの追加 ボタン。
-
入力してください。
App Store Connect API key name. このキーは、後でアプリケーションの設定で参照するために使用される人間が読める名前です。 -
入力してください。
Issuer IDとKey ID値。 -
クリックしてください。 .p8ファイルを選択してください または、App Store Connect API キーをダウンロードしたものをアップロードするためにファイルをドラッグしてください。
-
クリックしてください。 保存.
今、Codemagicを管理するためにApp Store Connect API キーが使用できるようになりました。素晴らしいことですね!
2. 証明書とプロビジョニング プロファイルを作成する
証明書
XCodeを開いて、 設定 > アカウント > Apple ID > チーム とチームを選択する

クリックしてください 証明書を管理 > + 次に、選択してください Apple Distribution.

すると、新しい証明書を作成できます。
次に、キーチェーンに移動して証明書をダウンロードする必要があります。 .p12 ファイルとして
このように、キーチェーンに移動してログイン login と マイ証明書.

次に、ダウンロードしたい証明書を選択できます。 (証明書の日付で検索してください)
次に、証明書に右クリックして エクスポート.
ファイル形式を選択 パーソナル情報交換 (.p12).
証明書をファイルとしてダウンロードします。 .p12 file.
オープン
Open マイ証明書 そして適切なチームを選択してください。
次に、新しいプロファイルを作成し、以下のボタンをクリックしてください。 +

そして App Store Connect.

次に、適切なアプリを選択してください。注意してください。ワイルドカードを使用すると署名が失敗する可能性があります。

適切な証明書を選択してください。有効期限が同じ日に同じ月のものを探してください。次に、以下のボタンをクリックしてください。 Continue.

最後に、プロファイルの名前を入力し、以下のボタンをクリックしてください。 作成.
この名前は、Codemagicでプロファイルを識別するために使用されます。

プロファイルをダウンロードすることができます。 .mobileprovision ファイル。

Codeの署名証明書を追加
Codemagicでは、PKCS#12アーカイブに署名証明書と秘密鍵が含まれる場合、codeの署名証明書をアップロードできます。アップロードする際、証明書がパスワード保護されている場合、証明書のパスワードと一意の 参照名、を提供する必要があります。これは、特定のファイルを取得するために使用できるように、 codemagic.yaml 設定で使用できます。
- 証明書をアップロード
- iOSビルドの自動化
- 開発者ポータルから取得
- Codemagicチームの設定を開き、 codemagic.yamlの設定 > Codeの署名情報.
- 開く iOS証明書 タブを開く。
- 証明書ファイルをアップロードするには、 ファイルを選択する または、指定されたフレームにドラッグする
- 入力してください 証明書パスワード 選択してください 参照名.
- クリック 証明書を追加
プロビジョニングプロファイルの追加
Codemagicでは、Apple Developer Portalからプロファイルを取得するか、特定のアプリケーションに使用するためにプロファイルをアップロードすることができます。
プロファイルのタイプ、チーム、バンドルID、有効期限は、Code署名識別子に追加された各プロファイルで表示されます。また、Codemagicでは、code署名証明書がCode署名識別子に存在するかどうかを知らせます (緑のチェックマークが表示されます)。 証明書 3. Codemagicの設定
プロビジョニングプロファイル
Codemagicのシークレットを設定
値の場所を知りたいですか? ENV 値はプロジェクトのシークレットから取得されます。
4. Codemagicワークフローファイルを設定
プロジェクトのルートディレクトリにファイルを追加してください。 codemagic.yml このワークフローは、または各__CAPGO_KEEP_0__タグの後でトリガーされる必要があります。
workflows:
ionic-capacitor-ios-workflow:
name: Capacitor iOS Workflow
max_build_duration: 120
instance_type: mac_mini_m1
integrations:
app_store_connect: CodeMagic
environment:
ios_signing:
distribution_type: app_store
bundle_identifier: YOUR_BUNDLE_IDENTIFIER
vars:
XCODE_WORKSPACE: ios/App/App.xcworkspace
XCODE_SCHEME: App
APP_STORE_APP_ID: YOUR_APP_STORE_APP_ID
node: v20.14.0
xcode: 15.4
cocoapods: default
triggering:
events:
- tag
tag_patterns:
- pattern: '*'
include: true
scripts:
- name: Install dependencies
script: |
npm install
- name: Cocoapods installation
script: |
cd ios/App && pod install
- name: Update dependencies and copy web assets to native project
script: |
npm run build
npx cap sync ios
- name: Set up code signing settings on Xcode project
script: |
xcode-project use-profiles
- name: Increment build number
script: |
cd $CM_BUILD_DIR/ios/App
LATEST_BUILD_NUMBER=$(app-store-connect get-latest-app-store-build-number "$APP_ID")
agvtool new-version -all $(($LATEST_BUILD_NUMBER + 1))
- name: Build ipa for distribution
script: |
xcode-project build-ipa \
--workspace "$XCODE_WORKSPACE" \
--scheme "$XCODE_SCHEME"
artifacts:
- build/ios/ipa/*.ipa
- /tmp/xcodebuild_logs/*.log
- $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.app
- $HOME/Library/Developer/Xcode/DerivedData/**/Build/**/*.dSYM
publishing:
email:
recipients:
- YOUR_EMAIL
notify:
success: true # To not receive a notification when a build succeeds
failure: false # To not receive a notification when a build fails
app_store_connect:
auth: integration
# Configuration related to TestFlight (optional)
# Note: This action is performed during post-processing.
submit_to_testflight: true
# Configuration related to App Store (optional)
# Note: This action is performed during post-processing.
submit_to_app_store: false
このワークフローは、手動でトリガーするか、または各GitHub後にトリガーされるようにする必要があります。 tagワークフローは、または各__CAPGO_KEEP_0__タグの後でトリガーされる必要があります。 自動ビルドとリリースとGitHubアクション first.
ワークフローは、または各__CAPGO_KEEP_0__タグの後でトリガーされる必要があります。
各時点で新しいタグを送信すると、テストフライトでリリースが作成されます。
アプリはIonicを使用する必要はありませんが、Capacitorベースは必須です。古いCordovaモジュールを使用してもかまいませんが、CapacitorJSプラグインを使用することをお勧めします。
5. ワークフローをトリガーする
ワークフローをトリガーする
新しいコミットをブランチにプッシュする main または development 上記のワークフローをトリガーするには、どのようにすればいいのでしょうか。

コミットを開始します

テストフライトダッシュボード
手動で開始する
まず、ビルドしたいアプリを選択し、 新しいビルドを開始.

次に、ビルドしたいブランチを選択

そして 新しいビルドを開始.
ビルドリスト

ビルド結果

ローカルマシンからデプロイできます。
はい、できます。とても簡単です。
Xcodeを使用して、常にアプリをビルドして署名できます。
ありがとうございます。
この記事は以下の記事に基づいています。
自動CapacitorIOSビルドからCodemagicに進みましょう。
Codemagicを使用している場合 自動CapacitorIOSビルドからCodemagic CI/CDの自動化を計画する場合、__CAPGO_KEEP_0__ CI/CDに接続してください。 CI/CDのCapgo Capgo CI/CDの製品ワークフローに Capgo ネイティブビルド Capgo ネイティブビルドの製品ワークフローに Capgo インテグレーション Capgo インテグレーション CI/CD統合 __CAPGO_KEEP_0__ アクション統合 GitHub アクション統合 Capacitorの実装詳細については、GitHub Actions統合です。