コンテンツにスキップ
Tauri

iOS でのコード署名

iOS でのコード署名は、公式 Apple App Store または欧州連合(EU)の代替マーケットプレイスを通じてアプリケーションを配布する場合、および一般的にはエンド・ユーザーのデバイスにインストールして実行する場合、に必要です。

iOS でコード署名を行なうには、Apple Developer プログラムに登録する必要があります。このプログラムの費用は執筆時点では年間 99 米ドルです。 コード署名を実行するための Apple デバイスも必要です。これは「署名プロセス」と「Apple の利用規約」で必須となっています。

iOS アプリケーションを配布するには、App Store Connect に登録された「バンドル識別子」、適切な「iOS コード署名証明書」、およびこれらをリンクさせ、あなたのアプリが使用する iOS 機能を有効化する「モバイル・プロビジョニング・プロファイル」が必要です。 これらの必要情報は、Apple 統合開発環境である「Xcode」によって自動的に管理することも、手作業で提示することもできます。

iOS アプリを配布用にエクスポートするには、アプリへの「署名」と「プロビジョニング」の管理を Xcode に任せるのが最も便利な方法です。 Xcode は、「バンドル識別子」を自動的に登録し、iOS 機能の変更を管理し、エクスポート方法に基づいて適切な「証明書」を構成します。

「自動署名」はデフォルトで有効化されており、ローカル・マシンで自動署名を使用する場合には、Xcode に設定されたアカウントを使用して認証されます。 自分のアカウントを登録するには、Xcode アプリケーションを開き、Xcode > Setting(設定)メニューで「Settings/設定」ページを開き、「アカウント」タブに切り替えて + アイコンをクリックします。

「自動署名」を CI/CD プラットフォームで使用するには、「App Store Connect API キー」を作成し、環境変数の APPLE_API_ISSUERAPPLE_API_KEY、および APPLE_API_KEY_PATH を定義する必要があります。 App Store Connect のユーザーとアクセス・ページ を開き、「統合 Integration」タブを選択して、「追加 Add」ボタンをクリックして、「名前」と「管理者アクセス Admin access」を選択します。 APPLE_API_ISSUER(発行者 ID)はキー・テーブルの上側に表示され、APPLE_API_KEY はそのテーブルの「キー ID 列」の値です。 「秘密鍵 private key」のダウンロードも必要ですが、これは一回だけ実行でき、ページをリロードした後にのみ表示されます(新たに作成されたキーのテーブル行に「ボタン」が表示されます)。 「秘密鍵」ファイルのパスは、環境変数の APPLE_API_KEY_PATH を介して指定する必要があります。

iOS アプリに手作業で署名するには、環境変数を使用して「証明書」と「モバイル・プロビジョニング・プロファイル」を提示します:

  • IOS_CERTIFICATE: Keychain(キーチェーン)からエクスポートされた「証明書」の base64 エンコード表現。
  • IOS_CERTIFICATE_PASSWORD: Keychain からエクスポートするときに設定された証明書のパスワード。
  • IOS_MOBILE_PROVISION: プロビジョニング・プロファイルの base64 エンコード表現。

次項では、これらの値を取得する方法について説明します。

「Apple Developer」に登録後、証明書 Certificate ページに移動して、新しい「Apple Distribution 証明書」を作成します。 その新しい証明書をダウンロードし、macOS Keychain にインストールします。

「証明書キー」をエクスポートするには、「キーチェーン・アクセス」アプリを開き、「証明書のデータ項目」を展開後、「キー項目」を右クリックして「Export <key-name>」項目を選択します。 エクスポートされた「.p12 ファイル」(公開鍵暗号システム・ファイル)のパスを選択し、そのエクスポート・パスワードを覚えておいてください。

次の base64 コマンドを実行して証明書を base64 にエンコード変換し、それをクリップボードにコピーします:

base64 -i <path-to-certificate.p12> | pbcopy

これで、クリップボード内の値は、署名証明書の base64 エンコード表現です。 これを保存し、環境変数 IOS_CERTIFICATE の値として使用します。

証明書のパスワードは変数の IOS_CERTIFICATE_PASSWORD に設定する必要があります。

さらに、アプリケーションの「プロビジョニング・プロファイル」も提示する必要があります。 Apple Developer サイトの Identifiers(識別子)ページで、新しい App ID を作成し、その「バンドル ID」値と identifier 設定に入力された「識別子」の内容とが一致していることを確認します。

次に、Profiles(プロファイル)ページに移動して、新しい「プロビジョニング・プロファイル」を作成します。 App Store 経由で配信する場合は、「App Store Connect」プロファイルを使用する必要があります。 適切な「アプリ ID」を選択し、以前に作成した「証明書」をリンクします。

プロビジョニング・プロファイルを作成したら、それをダウンロードし、以下の base64 コマンドを実行してプロファイルを base64 形式に変換し、クリップボードにコピーします:

base64 -i <path-to-profile.mobileprovision> | pbcopy

クリップボード内の値は、「プロビジョニング・プロファイル」の base64 エンコード表現です。 この値を保存し、環境変数の IOS_MOBILE_PROVISION 値として使用します。

さあこれで、iOS アプリケーションがビルドされて App Store で配布できるようになります。

【※ この日本語版は、「Feb 22, 2025 英語版」に基づいています】


© 2025 Tauri Contributors. CC-BY / MIT