Codemagicを使用したiOSの継続的デリバリー
前提条件
このチュートリアルに進む前に…
- iOS開発者プログラムの会員資格.
- 読みたい欲求…😆…
価格について重要な点

サービスは ‘無料’ 月に 500 分の macOS M1 分数 / 月、選択したマシンに応じて、
このチュートリアルで使用するのは macOS M1 マシンです。スクリーンショットに表示されている価格と制限 (価格はチュートリアルの作成時点のもので、将来の変更に応じて異なる場合があります) を確認できます。 要件と価格について注意した後、続ける場合はどうですか?… このチュートリアルでは、iTunes Connect でアプリを作成し、Apple エコシステムの証明書を所有していることを前提としています。Codemagic で設定が完了していることを前提としています!
🔴 価格
📣 https://codemagic.io/pricing/
Let's dive in 🤿
ブログ記事の手順
- Using App Store Connect API with Codemagic
- 必要な条件
- Capacitor iOS ビルドの自動化のために Codemagic を使用する際に、App Store Connect の API キーを作成します。
- App Store ConnectのAPIキーを使用します。
- ファストレーンファイルをコピー
- Codemagicを設定する
1. App Store Connect API を Codemagic で使用します。
2021年2月以降、すべてのユーザーはApp Store Connectにサインインするために2要素認証または2段階認証が必要です。この追加のセキュリティ層は、Apple IDのアクセスをあなただけが行うことを保証するのに役立ちます。
From Apple サポート
matchを始めるには、既存の証明書を取り消す必要があります。ただし、心配する必要はありません。新しい証明書は直接取得できます。
要件
App Store Connect API を使用するには、Codemagic が必要なのは 3 つ 発行者 ID
- キー ID
- キー ファイルまたはキー コンテンツ
- App Store Connect __CAPGO_KEEP_0__ キーの作成
Creating an App Store Connect API Key
1 — App Store Connect にログインする
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__.
2 — 選択 ユーザーとアクセス.

3 — API キーのタブを選択してください。

4 — API キーを生成するか、または (+) ボタンをクリックしてください。

5 — キーの名前を入力し、アクセス権を選択してください。Apple Developer Program のロールパーミッションについて詳しくはこちらを参照してください。 App Manager App Store Connect __CAPGO_KEEP_0__ キーを作成 6 — 生成をクリックしてください。

App Store Connect user access
CapgoのAPIキーは、特定のアプリにアクセス制限することができません。
新しいキー名、キーID、ダウンロードリンク、他に関する情報がページに表示されます。

必要な情報をすべてここで取得してください:
<1> Issue ID。
<2> Key ID。
<3> API キーをダウンロードするには、「API 私有キーをダウンロード」ボタンをクリックしてください。ダウンロードリンクは、プライベートキーがまだダウンロードされていない場合にのみ表示されます。Appleはプライベートキーを保管していないため、ダウンロードすることができます。ただし、プライベートキーは一度だけダウンロードできます。
🔴 プライベートキーを安全な場所に保存してください。キーを共有しないでください、キーをcode リポジトリに保存しないでください、またはクライアントサイドのcode に含めないでください。
CapgoのApp Store Connect API キーをCodemagicに追加する
-
Codemagicチームの設定を開いてください。
Capgoのcode署名IDを選択してください。
証明書をアップロードしてください

-
ボタンをクリック キーを追加 ボタン。
-
キー名を入力してください。キー名は、後でアプリケーション設定でキーを参照するときに使用されます。
App Store Connect API key nameキー名と値を入力してください。 -
ボタンをクリックしてください。
Issuer IDボタンをクリックしてください。Key IDボタンをクリックしてください。 -
ボタンをクリックしてください。 iOS用の.p8ファイルを選択してください または、App Store ConnectのAPIキーをダウンロードしたものをアップロードするには、ファイルをドラッグしてください。
-
クリック 保存.
Now we can manage Codemagic with the App Store Connect API key, great!
App Store Connectの__CAPGO_KEEP_0__キーを使用してCodemagicを管理できるようになりました。すばらしい!
2. 証明書とプロビジョニングプロファイルを作成する
証明書 XCodeを開き、 設定 > > Apple ID > Teams チームを選択してください。

Click on 証明書を管理 > + と選択 Apple Distribution.

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

エクスポート
ファイル形式を選択 パーソナル・インフォメーション・エクスチェンジ(.p12).
keychain 証明書.
そのプロセスにより、証明書がファイルとしてダウンロードされます。 .p12 ファイル。
プロビジョニングプロファイル
開く Apple Developer 正しいチームを選択してください。
次に、新しいプロファイルを作成するには、プロファイルの作成ボタンをクリックしてください。 +

App Store Connect App Store Connectを選択.

アプリを選択してください。

適切な証明書を選択してください (有効期限の日付は今日と同じ日と月でなければなりません) そして 続行.

最後にプロファイルの名前を入力してください そして 生成.
プロファイルの名前はCodemagicでプロファイルを識別するために使用されます。

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

Code の署名証明書を追加
Codemagicでは、code署名証明書をPKCS#12アーカイブとしてアップロードできます。これには署名証明書と秘密鍵が含まれます。これを使用するには秘密鍵が必要です。アップロードする際、Codemagicは証明書のパスワードを求めます(証明書がパスワード保護されている場合)。また、ユニークな 参照名, これは、特定のファイルを取得するために使用できる。 codemagic.yaml 証明書アップロード
- 新しい証明書生成
- 開発者ポータルから取得
- Codemagicチーム設定を開き、
- codemagic.yaml設定 > __CAPGO_KEEP_0__署名識別子 Code signing identities.
- Reference name iOS証明書 タブ。
- 証明書ファイルをアップロードするには、以下のボタンをクリックしてください。 .p12または.pemファイルを選択してください または、指定された枠にドラッグしてください。
- 入力してください。 証明書パスワード と選択してください。 参照名.
- クリックしてください。 証明書を追加
プロビジョニングプロファイルの追加
Codemagicでは、Apple Developer Portalからプロファイルを取得するか、プロビジョニングプロファイルをアップロードしてアプリケーションに使用することができます。
追加された各Code署名のIDに表示されるプロファイルのタイプ、チーム、バンドルID、有効期限日は、さらに、Codemagicはcode署名証明書がCode署名のIDにある場合に、緑のチェックマークが付いた__CAPGO_KEEP_3__フィールドに表示されます。 証明書 3. Codemagicの設定
Codemagicのシークレットを設定
値の値はどこから来ているのでしょうか? それは秘密ではありません – それはプロジェクトのシークレットからです。 🤦
4. Codemagicワークフローファイルの設定 ENV プロジェクトのルートディレクトリにファイルを追加し、次の内容を追加してください。
このワークフローは、または各__CAPGO_KEEP_0__の後でトリガーされる必要があります。
手動で 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の後で タグ, ここではタグの自動化については、 自動ビルドとリリースのためのGitHubアクション 最初に。
次に、このワークフローは、NodeJSの依存関係を取得し、インストールし、JavaScriptアプリをビルドします。
各タグの送信ごとに、テストフライトでリリースが作成されます。
アプリはIonicを使用する必要はありません。ただし、Capacitorベースが必須であり、古いCordovaモジュールを使用することができますが、CapacitorのJSプラグインを使用することを推奨します。
5. ワークフローをトリガーする
ワークフローをトリガーする
コミットをブランチにプッシュする main または development コミットをブランチにプッシュする

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

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

次に、ビルドしたいブランチを選択してください。

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

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

ローカルマシンからデプロイすることができます
はい、できますし、それは手間がかからずに済みます。
Xcodeを使用してアプリをビルドおよび署名することができます。いつもと同じように。
感謝します
このブログは以下の記事に基づいています。
Automatic Capacitor IOS ビルドに Codemagic で続行
あなたが使用している Automatic Capacitor IOS ビルドに Codemagic を使用 CI/CD 自動化を計画する Automatic __CAPGO_KEEP_0__ IOS ビルドに Codemagic を接続 Automatic Capgo CI/CD Automatic Capgo CI/CD の製品ワークフロー Automatic Capgo Native Builds Automatic Capgo Native Builds の製品ワークフロー Automatic Capgo Integrations Automatic Capgo Integrations の製品ワークフロー CI/CD統合 CI/CD統合の実装詳細 GitHub アクション統合 GitHub アクション統合の実装詳細について。