メインコンテンツにスキップ
CI/CD

Codemagicで自動的にCapacitor IOSビルド

CodemagicとCodemagicを使用して5分でIOS IonicアプリのCI/CDパイプラインを設定する方法 (2024)

マーティン・ドナディュー

マーティン・ドナディュー

コンテンツマーケター

Codemagicで自動的にCapacitor IOSビルド

Codemagicを使用したiOSの継続的デリバリー

前提条件

このチュートリアルに進む前に…

  • iOS開発者プログラムの会員資格
  • 読む気分😆…

価格についての注意

価格 Codemagic Action

https://codemagic.io/pricing/

サービスは ‘無料’ 月に 500 分の macOS M1 分 / 月、選択したマシンに応じて、
私たちは macOS M1 マシンを使用します、スクリーンショットでその価格と制限を確認できます (価格はこのチュートリアルの作成時点のもので、将来の変更が可能です) 要件と価格についての注意を出してから、もし好きなら続きます… この記事では、iTunes Connectでアプリを作成し、Apple エコシステムの証明書を持っていることを前提としています、Codemagic で全ての設定が行われます!

🔴 では、実際に始めましょう!

📣 Let's dive in

🤿

アプリのアップロード手順

  1. CodemagicとApp Store Connect APIの使用
  2. 必要なもの
  3. App Store Connect API キーの作成
  4. App Store Connect API キーの使用
  5. Fastlaneファイルのコピー
  6. Codemagicの設定

1. CodemagicとApp Store Connect APIの使用

2021年2月以降、すべてのユーザーはApp Store Connectにサインインするために2要素認証または2段階認証が必要になります。Apple IDのセキュリティの追加レイヤーは、自分のアカウントにアクセスできるのはあなただけであることを保証します。
App Store Connect Apple Support

matchの開始には既存の証明書を削除する必要があります。心配はいりません、新しい証明書は直接取得できます。

要件

App Store Connect API を使用するには、Codemagic が API を取得できるようにする必要があります。 3 つあります。 発行者 ID。

  1. キー ID。
  2. キー ファイルまたはキー コンテンツ。
  3. App Store Connect __CAPGO_KEEP_0__ キーを作成する

Creating an App Store Connect API Key

1 — App Store Connect にログインする

2 — App Store Connect から選択する protectedTokens.

targetLanguage ユーザーとアクセス.

App Store Connectユーザーアクセス

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

App Store Connect API キー

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

App Store Connect API キーを作成

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

API キーのアクセスは特定のアプリに制限できません。

App Store Connect __CAPGO_KEEP_0__ キーの作成

App Store Connect API キーの作成

新しいキー名、キーID、ダウンロードリンク、他に関する情報がページに表示されます。

App Store Connectダウンロードキー

必要な3つの情報をすべてここで取得します: <1> Issue ID.
<2> Key ID.
<3> "API キーをダウンロード" をクリックして、API プライベート キーをダウンロードしてください。プライベート キーはダウンロードしたことがない場合にのみダウンロードリンクが表示されます。Appleはプライベート キーを保管していないため、ダウンロードすることができます。ただし、プライベート キーは一度だけダウンロードできます。

🔴 プライベート キーを安全な場所に保存してください。キーを共有しないでください、キーをcode リポジトリに保存しないでください、またはcode クライアントサイドにキーを含めないでください。

App Store ConnectAPI キーをCodemagicに追加する

  1. Codemagicチーム設定を開きます チーム統合を選択 チームを開きます App Store Connectcode キーを選択 App Store Connectcode キーを選択 アップロードする証明書を選択してください 証明書をアップロード

  2. ボタンをクリック キーを追加 キー。

  3. キーに使用する人間が読みやすい名前を入力してください。この名前は、後でアプリケーション設定でキーを参照するときに使用されます。 App Store Connect API key nameキーと値を入力

  4. キーと値を入力してください。 Issuer ID 選択してください Key ID .p8 ファイルを選択

  5. 証明書をアップロードしてください このキーに使用する人間が読みやすい名前を入力してください。この名前は、後でアプリケーション設定でキーを参照するときに使用されます。 またはファイルをドラッグしてアップロードするApp Store Connect API キーをダウンロードしたものをアップロードしてください。

  6. Click Save.

App Store Connect API キーを使用してCodemagicを管理できるようになりました、素晴らしい!

2. 証明書とプロビジョニング プロファイルを作成する

証明書

Open XCodeと移動してください 設定 > アカウント > Apple ID > チーム チームを選択してください

Code signing identities

Click on 証明書を管理する > + そして Apple Distribution.

Apple Distribution

すると、新しい証明書を作成できます。

すると、キーチェーンに移動して証明書をファイルとしてダウンロードする必要があります。 .p12 これを行うには、キーチェーンに移動し、ログイン

キーチェーンに切り替え、そしてタブ keychain を選択してください。 マイ証明書.

マイ証明書

次に、ダウンロードしたい証明書を選択できます。 (証明書の日付で検索してください)

そして、証明書に右クリックして エクスポート.

ファイル形式を選択 パーソナル情報交換 (.p12).

証明書がファイルとしてダウンロードされます。 .p12 プロビジョニングプロファイル

開く

Apple Developer Then you can select the certificate you want to download. (Look by the date of the certificate) そして適切なチームを選択してください。

__CAPGO_KEEP_0__をクリックして新しいプロファイルを作成してください。 +

新しいプロファイルを作成

そして App Store Connectを選択.

App Store Connectを選択

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

適切なアプリを選択

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

最後にプロファイルの名前を入力してください

そして 生成.

__CAPGO_KEEP_0__のプロファイルを識別するために使用される名前は、Codemagicで使用されます。

__CAPGO_KEEP_0__のプロファイルを生成

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

__CAPGO_KEEP_0__のプロファイルをダウンロード

Codeの署名証明書を追加

Codemagicでは、codeの署名証明書をPKCS#12アーカイブとしてアップロードできます。これは、証明書と必要な秘密鍵が含まれています。アップロードするとき、Codemagicは証明書のパスワードを求めます(パスワードが設定されている場合)。また、ユニークな 参照名,を提供する必要があります。これは、特定のファイルを取得するために使用される codemagic.yaml 設定

  • で使用できます。
  • 新しい証明書を生成する
  • 開発者ポータルから取得する
  1. Codemagic Team設定を開き、 codemagic.yaml設定 > Code署名のID.
  2. を開く iOS証明書 タブを開く。
  3. 証明書ファイルをアップロードするには、 。p12または.pemファイルを選択する または、指定されたフレームにドラッグする
  4. を入力する 証明書パスワード と選択 参照名.
  5. クリック 証明書追加

プロビジョニングプロファイルをアップロードまたはApple Developer Portalから取得することができます。

プロファイルのタイプ、チーム、バンドルID、有効期限は、__CAPGO_KEEP_0__署名のIDに追加された各プロファイルで表示されます。また、Codemagicは、__CAPGO_KEEP_1__署名証明書が__CAPGO_KEEP_2__署名のIDに存在するかどうかを知らせます(緑のチェックマークが表示されます)。

The profile’s type, team, bundle id, and expiration date are displayed for each profile added to Code signing identities. Furthermore, Codemagic will let you know whether a matching code signing certificate is available in Code signing identities (a green checkmark in the 証明書 3. Codemagicの設定

Codemagicのシークレットを設定

3. Codemagicの設定

Ever wonder where the values of the __CAPGO_KEEP_0__ are coming from? ENV Well, it’s not a secret anymore – it’s from your project’s secret.

4. Codemagic ワークフロー ファイルを設定する

プロジェクトの root ディレクトリにファイルを追加し、以下の内容を記述する 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

This workflow should be triggered manually or after each GitHub Automatic build and release with __CAPGO_KEEP_0__ actions最初に実行する Automatic build and release with GitHub actions 各タグを送信すると、TestFlight でのリリースが作成されます。

Create a file named __CAPGO_KEEP_0__ at the root of your project and add the following.

This workflow should be triggered manually or after each __CAPGO_KEEP_0__ tag

あなたのアプリはIonicを使用する必要はありません。Capacitorの基本構造だけが必要です。古いCordovaモジュールを使用してもかまいませんが、CapacitorのJSプラグインが推奨されます。

5. ワークフローをトリガーする

ワークフローをトリガーする

ブランチに新しいコミットをプッシュする main または development ワークフローをトリガーするには。

コミットから始まる

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

テストフライト ダッシュボード

手動で開始する

ワークフローを手動で開始することができます。

まず、ビルドしたいアプリを選択し、次にクリックしてください。 新しいビルドを開始する.

アプリを選択する

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

ブランチを選択する

そして 新しいビルドを開始する.

ビルドリストに移動してください。

ビルドリスト

ビルド結果を確認するには

ビルド結果

ローカルマシンからデプロイすることができます

はい、できます。とても簡単です。

Xcodeを使用してアプリをビルドおよび署名することができます。

感謝します

以下の記事に基づいています。

Capacitor アプリのリアルタイム更新

ウェブ層のバグが生じた場合、Capgo を使用して修正を配信するのを待つのではなく、数日間のアプリストアの承認を待つのではなく、ユーザーはバックグラウンドで更新を受け取り、ネイティブの変更は通常のレビュー経路を通じて

今すぐ始めましょう

ブログの最新記事

Capgoは、プロフェッショナルなモバイルアプリを作成するために必要な最良の洞察を提供します。