iOS のコード署名
この記事では、iOS のコード署名について説明します。 ラップ プロジェクト の作成・構築時に プラットフォーム の 1 つとして iOS を選択した場合、アプリを iOS 用に署名する必要があります。
重要
Xcode を使用してラップされた iOS 用モバイル アプリにデジタル署名することはサポートされていません。 iOS 用のラップされたモバイル アプリ パッケージに正しく署名するには、次の手順に従います。
前提条件
開始するには、以下の情報が必要です:
- App ID
- デバイス UDID (テストおよび開発目的のみ)
iOS のコード署名には macOS デバイスも必要です。
Mac を準備する
次の構成で Mac をセットアップします。
- Xcode をインストールします。 詳細情報: Xcode
- macOS 用の PowerShell をインストールします。 詳細情報: macOS に PowerShell をインストールする
- Apple 開発者プログラムに登録する
- 組織内でアプリを配布するには、Apple エンタープライズ開発者プログラム にサインアップする必要があります。
アプリ ID を作成する
https://developer.apple.com にアクセスして アカウント タブを選択し、開発者アカウントにサインインします。
証明書、ID、プロファイル > 識別子 にアクセスします。
+ を選択して、新しい識別子を作成します。
アプリ ID を選択し、続行 を選択します。
種類にアプリ を選択し、続行 を選択します。
アプリ ID を登録します:
- 説明 - アプリの名前です。
- バンドル ID - 明示的なバンドル ID を選択します。
- ラップ プロジェクトの作成 時に使用したバンドル ID を入力します。 詳細情報: バンドル ID
- 次の機能を有効にします:
- 関連するドメイン
- iCloud
- NFC タグの読み取り
- プッシュ通知
- 続行 を選択します。
アプリ ID を確認して登録します。
配布する証明書の作成
配布証明書を作成するには、先に新しい証明書署名の要求を作成します。
証明書署名要求 (CSR) の作成
Mac で、アプリケーション フォルダ > ユーティリティ > キーチェーン アクセスを開きます。
キーチェーン アクセス > 証明書アシスタント > 認証局に証明書を要求する を選択します。
以下のように 証明書情報 を記入し、継続する を選択してください。
- ユーザーのメールアドレスフィールドに、この証明書で識別するための Apple ID の電子メール アドレスを入力します。
- 一般名 フィールドで、自身の名前を入力します。
- リクエスト グループで、ディスクに保存を選択します。
- ファイルを Mac に保存します。
配布証明書を作成する
https://developer.apple.com でアカウント タブを選択し、開発者アカウントにサインインします。
証明書、ID、プロファイル > 証明書 にアクセスします。
+ を選択して、新規証明書を作成します。
App Store とアドホック > 継続を選択します。
注意
エンタープライズ開発者アカウントをお持ちの場合は、エンタープライズ配布証明書を作成するオプションがあります。
前の手順で生成された証明書署名要求 (CSR) ファイルをアップロードします。
続行を選択し、証明書を Mac にダウンロードします。
ダウンロードした .cer ファイルをダブルクリックして、キーチェーン アクセスにインストールします。
証明書の名前を忘れないようにしてください (通常は iPhone Distribution: Name (チーム ID))。 この値は、署名のために提供する必要があるコード署名の ID です。
IPA をインストールする必要があるすべてのデバイスを追加する
注意
この手順は、アプリを外部ユーザーに配布する場合にのみ必要です。 アプリが内部ユーザー専用の場合は必要ありません。
https://developer.apple.com でアカウント タブを選択し、開発者アカウントにサインインします。
証明書、ID、プロファイル > デバイス にアクセスします。
+ を選択し、1 つ以上のデバイスを登録します。
デバイス名とデバイス ID (UDID) を入力します。
保存 を選択します。
ヒント
UDID のリストをアップロードして、複数のデバイスを一緒に登録することもできます。
iOS プロビジョニング プロファイルの作成
https://developer.apple.com にアクセスして アカウント タブを選択し、開発者アカウントにサインインします。
証明書、ID、プロファイル > プロファイル にアクセスします。
+ を選択して、新しいプロファイルを作成します。
アドホック > 継続を選択します。
注意
本番テストおよび開発の目的であれば、App Storeの配布方法を使用します。
以前に作成したアプリ ID を選択し、継続を選択します。
以前に作成した証明書を選択し、継続を選択します。
アプリをインストールするすべてのテスト デバイスを選択し、継続を選択します。
プロビジョニング プロファイルを確認して名前を付けます。 プロビジョニング プロファイルの名前を書き留めます。
プロファイルを生成して Mac にダウンロードします。
ダブルクリックしてダウンロードしたファイル (*.mobileprovision) を開き、Xcode に登録します。
iOS アーカイブに署名する
App Center からの iOS-Archive.zip ファイルをダウンロードして解凍します。 これにより、バンドル ID という名前のフォルダーが作成されます。 以下の例では、バンドル ID は com.single.wrap です。
エンタープライズ証明書で署名する場合は、Xcode を使用してファイル Distribution-exportOptions.plist を開き、企業 へのファイル内にある 方法 の値を変更します。
注意
Enterprise 署名は、Key Vault 署名ではサポートされていません。
ターミナルを開き、ディレクトリを展開していないフォルダーに変更します。
pwsh
と入力し、ターミナルで PowerShell を起動します。./SignAndGenerateIPA.ps1
を実行し、値に "CodeSigningIdentity" と "ProvisioningProfilePath" のパラメーターを使用します。注意
'CodeSigningIdentity' は、Apple 開発者 Web サイトで作成された証明書の名前です。 'CodeSigningIdentity' の値を検索するには、.mobileprovision ファイル (これはプロビジョニング プロファイルです) を選択し、詳細情報 を選択します。 下にスクロールして プレビュー を選択します。 'CodeSigningIdentity' 値は、.mobileprovision ファイルの 証明書 下の 名前 フィールドに保存されます。
ヒント
'ProvisioningProfilePath' は、前の手順 iOS プロビジョニング プロファイルの作成 で Apple 開発者 Web サイトからダウンロードしたプロビジョニング プロファイル ファイルへのパスです。 たとえば、コンピューターの /ユーザー/ユーザー名/ダウンロード/MyProvisioningProfile.mobileprovision にある可能性があります。
スクリプトが終了すると、com.single.wrap.ipa のような .ipa ファイルが作成されます。
- コマンド ./SignAndGenerateIPA.ps1 が失敗した場合は、破損している可能性があるため、解凍したフォルダーとファイルを削除してください。 再度サインする前に iOS-Archive.zip を再度解凍します.。
登録したデバイスに、Finder アプリを使用して .ipa ファイルをインストールします。 App Center などの配布サービスにパッケージをホストすることもできます。 Microsoft Intune を使用して配布するには、基幹業務アプリから Microsoft Intune に iOS/iPadOS を追加する を参照してください。 Intune アプリ保護サービスにアプリのアクセス権を付与する方法については、Intune アプリ保護サービスにアプリのアクセス権を付与する を参照してください。