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

サービスは月に500時間まで無料 macOS M1の使用時間は、選択したマシンに応じて、500時間まで無料です。
このチュートリアルでは、 macOS M1 マシンはスクリーンショットで価格と制限を確認できます (価格はこのチュートリアルの作成時点で、将来の変更が可能です)
🔴 警告された要件と価格については、好きなように続ける場合は…
📣 この記事では、iTunes Connectでアプリを作成し、Appleのエコシステムの証明書を持っていることを前提としています。Codemagicで設定することができます!
始めましょう!
この記事で説明する手順
- App Store Connect API をCodemagicで使用する
- 必要なもの
- App Store Connect API キーを作成する
- App Store Connect API キーを使用する
- Fastlaneファイルをコピーする
- Codemagicを設定する
1. App Store Connect API を Codemagic で使用する
2021 年 2 月以降、すべてのユーザーは App Store Connect にサインインするために 2 つの要素認証または 2 つのステップの検証が必要です。この追加のセキュリティ機能により、Apple ID のアクセス権を保証するのに役立ちます。
From Apple Support
match について始めるには、既存の証明書を取り消す必要がありますが、心配はいりません。新しい証明書は直接取得できます。
要件
App Store Connect API を使用するには、Codemagic が 3 項目が必要です。
- 発行者 ID。
- キー ID。
- キー ファイルまたはキー コンテンツ。
App Store Connect API Keyの作成
App Store Connectのキーを生成するには、Adminの権限が必要です。権限がない場合は、この記事を参照し、以下の手順に従ってください。
1 — App Store Connectにログイン App Store Connect.
2 — Users and Accessを選択 App Store Connectのユーザー権限.

App Store ConnectのAPI Keys

App Store ConnectのAPI キーを作成

__CAPGO_KEEP_0__ App Manager アクセス権限、Apple Developer Programの役割権限について詳しく知りましょう。 ここ

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

必要な情報をすべてここで取得しましょう:
<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ボタンをクリックしてキーを追加します -
エントリーメイド
Issuer IDとKey ID値を入力してください。 -
クリックしてください。 またはアップロードするための.p8ファイルをドラッグしてください。 App Store ConnectのAPIキーをダウンロードしたものをアップロードしてください。
-
クリックしてください。 保存.
App Store ConnectのAPIキーを使用してCodemagicを管理できるようになりました、素晴らしい!
2. 証明書とプロビジョニングプロファイルを作成する
証明書
XCodeを開いてください。 設定 > アカウント > Apple ID > チームを選択してください __CAPGO_KEEP_0__署名のID

証明書を管理 > チーム + と選択 Apple Distribution.

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

__CAPGO_KEEP_0__
そして右クリックして証明書を選択 __CAPGO_KEEP_0__.
__CAPGO_KEEP_0__ __CAPGO_KEEP_0__.
__CAPGO_KEEP_0__ .p12 __CAPGO_KEEP_0__
プロビジョニングプロファイル
__CAPGO_KEEP_0__ Apple Developer チームを選択してください
__CAPGO_KEEP_0__ +

そして選択 App Store Connect.

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

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

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

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

Code の署名証明書を追加
Codemagicでは、codeの署名証明書をPKCS#12アーカイブとしてアップロードできます。これには、証明書と必要な秘密鍵が含まれます。アップロードするとき、Codemagicは証明書のパスワードを求めます(パスワードが設定されている場合)。また、ユニークな 参照名, これは、特定のファイルを取得するために使用できる codemagic.yaml 設定
- 証明書をアップロード
- 新しい証明書を生成
- 開発者ポータルから取得
- Codemagicチームの設定を開き、 codemagic.yaml設定 > Code署名のID.
- 開く iOS証明書 タブ。
- 証明書ファイルをアップロードするには、次のボタンをクリックしてください。 または、指定された枠にドラッグしてください。 入力してください。
- 証明書のパスワード と選択してください。 フレーム 参照名.
- クリック 証明書の追加
プロビジョニング プロファイルの追加
Codemagicでは、Apple Developer Portalからプロファイルを取得することもできます。
プロファイルのタイプ、チーム、バンドルID、有効期限は、Codeの署名識別子に追加された各プロファイルで表示されます。また、Codemagicは、codeの署名証明書がCodeの署名識別子に存在する場合 (緑のチェックマークが表示される場合) または存在しない場合を知らせます。 証明書 3. Codemagicの設定
Codemagicのシークレットの設定
プロジェクトのシークレットから値が来ているのではないかと思ったことはありませんか? それは秘密ではありません – それはプロジェクトのシークレットからです。 🤦
Configure ENV Ever wonder
4. Codemagic ワークフロー ファイルを設定
プロジェクトのルートディレクトリにファイルを作成し 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
このワークフローは、手動または各 GitHub タグの後でトリガーされる必要があります。タグの自動化については、 Automatic build and release with __CAPGO_KEEP_0__ actionsを参照してください。 Automatic build and release with GitHub actions 次に、このワークフローは、NodeJS の依存関係を取得し、JavaScript アプリをインストールし、ビルドします。
各タグを送信すると、テストフライトでリリースが作成されます。
アプリは、Ionic を使用する必要はありません。ただし、__CAPGO_KEEP_0__ ベースは必須であり、古い Cordova モジュールを使用してもかまいませんが、__CAPGO_KEEP_1__ JS プラグインを使用することを推奨します。
Your App doesn’t need to use Ionic, only Capacitor base is mandatory, it can have old Cordova module, but Capacitor JS plugin should be preferred.
__CAPGO_KEEP_0__
ワークフローをトリガーする
新しいコミットをブランチにプッシュする main または development Capacitorライブアップデートの代替手段を比較するページ

Capacitorライブアップデートの代替手段を比較するページ

Capacitorライブアップデートの代替手段を比較するページ
ワークフローをトリガーする
コミットを開始しました 数分後、App Store Connect ダッシュボードでビルドが利用可能になります。.

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

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

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

ローカルマシンからデプロイすることができます
はい、できます。とても簡単です。
Xcodeを使用してアプリをビルドおよび署名することができます。いつもと同じように。
感謝します
このブログは以下の記事に基づいています。
Codemagicと自動的にCapacitor iOSビルドから続きます。
Codemagicと自動的に__CAPGO_KEEP_0__ iOSビルドを使用している場合 自動的にCapacitor iOSビルドとCodemagicを使用してCI/CDの自動化を計画する __CAPGO_KEEP_0__ CI/CDと接続する Capgo CI/CDの製品ワークフロー Capgo Native Buildsの製品ワークフロー Capgo Native Builds Capgo CI/CD Capgo 連携 Capgo 連携の製品ワークフロー CI/CD 連携 __CAPGO_KEEP_0__ アクション連携 GitHub アクション連携の実装詳細 GitHub 連携の実装詳細