😸

DeployGateにiOSアプリをデプロイできるようにする

2022/07/22に公開

これは何?

dg コマンド (DeployGate CLI) で iOS アプリをデプロイしようとしたら、以下のようなエラーが出てデプロイできない。

no applicable iphone distribution or apple distribute certificate found on your mac

かなり解決に時間かかったのと、DeployGate や Apple の公式ドキュメントでピンポイントの情報が見つけられなかったので、誰かの役に立つかと思い、手順を残します。

なお M1 Mac における dg コマンドのインストールで困ったときは DeployGate がサクッとM1に入らなかった話 が参考になるかも知れません。

手順

1. Apple Developer Programに登録する

Apple Developer Programに登録する

2. Apple ID を Xcode に登録する

Xcode の Preferences から Accounts タブを開き、Apple Developer Programに登録した Apple ID を登録する

3. Certificate Signing Request

  1. キーチェーンアクセスアプリで認証局に証明書を要求...を選択する:
    Keychain Access Request
  2. 証明書情報の画面が開くので以下のように入力して、Certificate Signing Request(証明書署名要求)ファイルをローカルに保存する
    • メールアドレス: Apple Developer Programに登録した Apple ID
    • 通称: 証明書に利用したいFQDN (例: example.com)
    • CAのメールアドレス: 空欄
    • 要求の処理: ディスクの保存
      Certificate Information

4. Distribution Certificate

  1. Certificates, Identifiers & Profiles を開く。
    • このページへのアクセス権がない場合は、管理者に依頼して付与してもらう。Roles for the Apple Developer Program によると、Account HolderAdmin には権限があるが、App Manager にはデフォルトでは権限がない。
      Roles for the Apple Developer Program
  2. Certificatesを選択して+アイコンをクリックする。
    New Certificate
  3. SoftwareApple Distributionを選択してContinueで次に進む。
    Apple Distribution
  4. 前セクションで作成したCertificate Signing RequestファイルをアップロードしてContinueで次に進む
    Upload Certificate Signing Request
  5. 次の画面で Apple Distribution 証明書がダウンロードできるので、ローカルにダウンロードして、ダブルクリックしてキーチェーンアクセスアプリにインストールする

5. Identifiers

  1. Certificates, Identifiers & Profiles を開く。
  2. Identifiersを選択して+アイコンをクリックする。
  3. App IDsを選択して、Continueをクリックする。
  4. AppまたはApp Clipを選択する画面が出るので、Appを選んでContinue
  5. DescriptionBundle IDを入力する。Bundle IDには Xcode のBundle Identifierで設定した値を入力する。

6. Devices

  1. Certificates, Identifiers & Profiles を開く。
  2. Devicesを選択して+アイコンをクリックする。
  3. DeployGate にデプロイした iOS アプリをインストールしたい iOS デバイスの UDID を登録する。

7. Profiles

  1. Certificates, Identifiers & Profiles を開く。
  2. Profilesを選択して+アイコンをクリックする。
  3. Ad Hocを選択してContinue
  4. 上のIdentifiersセクションで作成したApp IDを選択してContinue
  5. 上のCertificatesセクションで作成したCertificatesを選択してContinue
  6. Provisioning Profile が作成されるので、ダウンロードして、ダブルクリックしてキーチェーンアクセスアプリにインストールする

8. dg deploy を実行する

dg deployを試してみる。今度はうまく行きました!

今後の展望

次はFlutterアプリをGitHub ActionsでDeployGateのデプロイを自動化!を参考に、GitHubリポジトリからの自動デプロイに挑戦したいと思います。

GitHubで編集を提案
シンギュラリティ・ソサエティ

Discussion