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