iOS向けの継続的デリバリーにCodemagicを使用
前提条件
チュートリアルを続ける前に…
- iOS開発者プログラムの会員資格
- 読むことを望む…
価格についての重要なこと

サービスは「無料」 月に500時間のmacOS M1 / 月、選択したマシンに応じて
ここでは、 macOS M1 スクリーンショットの画像に表示されている価格と制限 (このチュートリアルの作成時点での価格ですが、将来の変更が可能です)
🔴 要件と価格について注意した後、続ける場合はどうですか?
📣 この記事では、iTunes Connectでアプリを作成し、Appleのエコシステムの証明書を持っていることを前提としています。Codemagicがすべての設定を手助けします!
では始めましょう!
この記事で説明する手順
- CodemagicとApp Store Connect APIの使用
- App Store Connect __CAPGO_KEEP_0__の作成
- App Store Connect APIの使用
- Using an App Store Connect API Key
- Codemagicの設定
- Codemagicがすべての設定を手助けします!
1. App Store Connect API を Codemagic で使用する
2021 年 2 月以降、すべてのユーザーが App Store Connect にサインインするには、2 つの要素認証または 2 つのステップの検証が必要です。この追加のセキュリティ層は、Apple ID のセキュリティを確保するために役立ちます。
From Apple Support
match について始めるには、既存の証明書を取り消す必要があります。ただし、心配する必要はありません。新しい証明書は直接取得できます。
Requirements
App Store Connect API を使用するには、Codemagic は three の
- 必要な
- ものがあります。
- Issuer ID。
App Store Connect API Keyの作成
App Store Connectのキーを生成するには、Adminの権限が必要です。権限がなければ、この記事を参照し、以下の手順に従ってください。
1 — App Store Connectにログインする App Store Connect.
2 — "ユーザーとアクセス"を選択する App Store Connectユーザー アクセス.

App Store Connect API Keys

App Store Connect API キーを作成する

5 — Enter the name for the key and select an access level. We recommend choosing App Manager アクセス権限、Apple Developer Programの役割権限について詳しく知りましょう。 ここ

6 — 生成をクリック。
API キーのアクセスは、特定のアプリに制限できません。
新しいキーの名前、キーアイデンティティ、ダウンロードリンク、他の情報がページに表示されます。

必要な3つの情報をすべてここに取得しましょう:
1> Issue ID。
2> Key ID。
3> 「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 Teamの設定を開いてください
code署名のIDを選択してください
証明書をアップロードしてください

-
ボタンをクリックしてください キーを追加してください ボタンをクリックしてください
-
キーに使用する人間が読める名前を入力してください
App Store Connect API key nameこの名前は、後でアプリケーション設定でキーを参照するときに使用されます -
Enter the
Issuer IDとKey ID値を入力してください。 -
Click on App Store Connectの.p8ファイルを選択してください or drag the file to upload the App Store Connect API key downloaded earlier.
-
Click Save.
Now we can manage Codemagic with the App Store Connect API key, great!
2. 証明書とプロビジョニングプロファイルを作成する
証明書
XCodeを開いて、 設定 > アカウント > Apple ID > チーム チームを選択してください。

クリックしてください 証明書を管理 > + と Apple Distribution.

すると、新しい証明書を作成できます。
次に、キーチェーンに移動して証明書をダウンロードする必要があります。 .p12 __CAPGO_KEEP_0__。
これを行うには、キーチェーンに移動し、ログインキーチェーンに切り替え、次にタブ My Certificates My Certificates 次に、ダウンロードしたい証明書を選択できます。(証明書の日付で検索してください).

Export
ファイル形式を選択してください Personal Information Exchange (.p12).
Personal Information Exchange (.p12) Personal Information Exchange (.p12).
ファイルとしての証明書をダウンロードします。 .p12 ファイル。
プロビジョニング プロファイル
開く Apple Developer と、適切なチームを選択してください。
新しいプロファイルを作成するには、 +

と選択してください。 App Store Connect.

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

__CAPGO_KEEP_0__を使用した前に作成した適切な証明書を選択してください (有効期限の日付を確認してください。有効期限の日付は今日と同じ日と月でなければなりません)。次に、 Continue.

最後に、プロファイルの名前を入力し、 Generate.
プロファイルの名前はCodemagicでプロファイルを識別するために使用されます。

証明書をダウンロードすることもできます。 .mobileprovision 証明書をダウンロード

Adding the Code signing certificate
Codemagicでは、code署名証明書をPKCS#12アーカイブとしてアップロードできます。このアーカイブには、証明書と必要な秘密鍵が含まれています。 アップロードする際、Codemagicは証明書のパスワード(パスワードが設定されている場合)と一意のReference name codemagic.yaml ,を要求します。この
- configurationで指定された
- Reference name
- を使用して、特定のファイルを取得できます。
- Upload certificate Generate new certificate > Code signing identities.
- Codemagic Teamの設定を開き、 codemagic.yaml settings タブ。
- __CAPGO_KEEP_0__をクリックして証明書ファイルをアップロードしてください。 .p12または.pemファイルを選択してください。 または、指定されたフレームにドラッグしてください。
- 入力してください。 証明書パスワード と選択してください。 参照名.
- クリックしてください。 証明書を追加
プロビジョニングプロファイルを追加しています。
Codemagicは、Apple Developer Portalからプロファイルを取得するか、適用用にプロファイルをアップロードすることを許可します。
プロファイルのタイプ、チーム、バンドルID、有効期限はそれぞれのプロファイルがCode署名のIDに追加されている場合に表示されます。また、Codemagicはcode署名証明書がCode署名のIDに存在する場合に緑のチェックマークが表示される「Certificate」フィールドまたは表示されないかどうかを知らせます。 証明書 3. Codemagicの設定
Codemagicのシークレットを設定
値の値はどこから来ているのでしょうか? それは秘密ではありません – それはあなたのプロジェクトのシークレットからです。 🤦
4. Codemagicワークフローファイルの設定 ENV プロジェクトのルートディレクトリにファイルを名付けて
以下の内容を追加してください。
このワークフローは、手動でトリガーするか、または各__CAPGO_KEEP_0__タグ後にトリガーされるようにしてください。 codemagic.yml 証明書
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
This workflow should be triggered manually or after each GitHub Codemagicのシークレットを設定, 自動化タグ作成の場合、 自動ビルドおよびリリースのために GitHub アクションを参照してください。 最初に。
その後、このワークフローは NodeJS の依存関係を取得し、JavaScript アプリをインストールしてビルドします。
各タグの送信ごとに、テストフライトでリリースが作成されます。
アプリは Ionic を使用する必要はありません。ただし、Capacitor のベースは必須であり、古い Cordova モジュールを使用することもできますが、Capacitor の JS プラグインを推奨します。
5. ワークフローをトリガーする
ワークフローをトリガーする
ブランチに新しいコミットをプッシュする main または development ワークフローをトリガーするために。

数分後、ビルドはApp Store Connect ダッシュボードで利用可能になります。

手動で開始する
ワークフローを手動で開始できます。
まず、ビルドしたいアプリを選択し、 新しいビルドを開始する.

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

そして 新しいビルドを開始する.
次に、ビルドリストに移動してください

ビルド結果を表示するには、ビルドにクリックしてください。

ローカルマシンからデプロイすることができます
はい、できます。とても簡単です。
Xcodeを使用してアプリをビルドして署名することができます。いつもと同じです。
感謝します
このブログは以下の記事に基づいています。
自動的なCapacitorIOSビルドから続けてください
あなたが使用している場合 Codemagicを使用した自動Capacitor IOSビルド CI/CD自動化の計画を行うには、__CAPGO_KEEP_0__ CI/CDに接続する Capgo CI/CDの製品ワークフロー Capgo Native Buildsの製品ワークフロー Capgo Integrationsの製品ワークフロー for the product workflow in Capgo Native Builds, Capgo Integrations Capgo Actions統合 __CAPGO_KEEP_0__ __CAPGO_KEEP_0__ GitHub GitHubの実装詳細についてのアクション統合の説明です。