AWS Device Farm のプライベートデバイスでのアプリケーション再署名のスキップ - AWS Device Farm

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

AWS Device Farm のプライベートデバイスでのアプリケーション再署名のスキップ

アプリケーション署名は、デバイスにインストールしたり、Google Play ストアや Apple App Store などのアプリストアに公開したりする前にAPK、プライベートキーを使用してアプリケーションパッケージ (、 などIPA) にデジタル署名するプロセスです。必要な署名とプロファイルの数を減らしてテストを効率化し、リモートデバイスのデータセキュリティを向上させるために、AWSDevice Farm はサービスにアップロードされた後にアプリケーションに再署名します。

アプリを AWS Device Farm にアップロードすると、サービスは独自の署名証明書とプロビジョニングプロファイルを使用してアプリの新しい署名を生成します。このプロセスは、元のアプリケーション署名を AWS Device Farm の署名に置き換えます。その後、Device AWS Device Farm が提供するテストデバイスに再署名アプリケーションがインストールされます。新しい署名により、元のデベロッパーの証明書を必要とせずに、これらのデバイスにアプリケーションをインストールして実行できます。

iOS では、埋め込みプロビジョニングプロファイルをワイルドカードプロファイルに置き換え、アプリケーションに再署名します。これを指定すると、インストール前にアプリケーションパッケージに補助データが追加され、データがアプリケーションのサンドボックスに表示されます。iOS アプリを辞退すると、特定の使用権限が削除されます。これには、App Group、関連ドメイン、Game Center HealthKit、 HomeKitワイヤレスアクセサリ設定、アプリ内購入、アプリ間オーディオ、Apple Pay、プッシュ通知、VPN設定とコントロールが含まれます。

Android では、アプリケーションに署名します。これにより、Google Maps Android などのアプリケーション署名に依存する機能が破損する可能性がありますAPI。また、 などの製品から利用できる著作権侵害防止や改ざん防止の検出をトリガーする可能性もあります DexGuard。組み込みテストでは、スクリーンショットのキャプチャと保存に必要なアクセス許可を含めるようにマニフェストを変更する場合があります。

プライベートデバイスを使用する場合は、AWSDevice Farm がアプリケーションに再署名するステップをスキップできます。これは、Device Farm が Android および iOS プラットフォームのアプリケーションに常に再署名するパブリックデバイスとは異なります。

リモートアクセスセッションまたはテスト実行を作成する場合は、アプリケーションの再署名をスキップできます。これは、Device Farm がアプリケーションに再署名すると中断する機能がアプリケーションにある場合に役立ちます。例えば、プッシュ通知は再署名後に動作しない場合があります。Device Farm がアプリケーションをテストするときに行う変更の詳細については、Device AWS Device FarmFAQsまたは Apps ページを参照してください。

テスト実行でアプリケーション再署名をスキップするには、テスト実行を作成するときの「構成する」ページで、[アプリケーション再署名をスキップ] を選びます。

テスト実行でプライベートデバイスインスタンスを使用するときに、アプリケーション再署名をスキップを選択する

注記

XCTest フレームワークを使用している場合、アプリの再署名をスキップオプションは使用できません。詳細については、「Device Farm と XCTest for iOS の統合」を参照してください。

アプリケーション署名設定を構成するための追加手順は、プライベートデバイスが Android か iOS によって異なります。

Android デバイスでのアプリケーション再署名のスキップ

Android のプライベートデバイスでアプリケーションをテストする場合は、テスト実行またはリモートアクセスセッションを作成するときに、[アプリケーション再署名をスキップ] を選択します。必要な構成は他にありません。

iOS デバイスでのアプリケーション再署名のスキップ

Apple では、デバイスにロードする前に、アプリケーションにテスト用の署名を行う必要があります。iOS デバイスでは、アプリケーションの署名には 2 つのオプションがあります。

  • 社内 (エンタープライズ) 開発者プロファイルを使用している場合は、次のセクション (iOS アプリケーションを信頼するためのリモートアクセスセッションの作成) に進んでください。

  • アドホックの iOS アプリケーション開発プロファイルを使用している場合は、まず Apple 開発者アカウントを使用してデバイスを登録してから、プロビジョニングファイルを更新してプライベートデバイスを含めます。次に、更新したプロビジョニングプロファイルでアプリケーションに再署名する必要があります。その後、Device Farm で再署名したアプリケーションを実行できます。

アドホック iOS アプリケーション開発プロビジョニングプロファイルでデバイスを登録するには
  1. Apple 開発者アカウントにサインインします。

  2. コンソールの証明書、IDs、プロファイルセクションに移動します。

  3. [デバイス] に移動します。

  4. デバイスを Apple 開発者アカウントで登録します。UDID デバイスの名前と を取得するには、Device Farm の ListDeviceInstancesオペレーションを使用しますAPI。

  5. プロビジョニングプロファイルに移動して、[編集] を選択します。

  6. リストからデバイスを選択します。

  7. Xcode で、更新されたプロビジョニングプロファイルを取得し、アプリケーションに再署名します。

必要な構成は他にありません。これで、リモートアクセスセッションまたはテスト実行を作成し、[アプリケーション再署名をスキップ] を選択できます。

iOS アプリケーションを信頼するためのリモートアクセスセッションの作成

社内 (エンタープライズ) 開発者プロビジョニングプロファイルを使用している場合、1 回限りの手順を実行して、各プライベートデバイスで社内アプリケーション開発者の証明書を信頼する必要があります。

これを行うには、テストするアプリをプライベートデバイスにインストールするか、テストするアプリと同じ証明書で署名された「ダミー」アプリケーションをインストールできます。同じ証明書で署名されたダミーアプリケーションのインストールには利点があります。構成プロファイルやエンタープライズアプリケーション開発者を信頼すると、その開発者のすべてのアプリケーションは、削除するまでプライベートデバイス上で信頼されることになります。このため、テストする新しいバージョンのアプリケーションをアップロードするときに、再びアプリケーション開発者を信頼する手続きは必要ありません。これは、テスト自動化を実行し、アプリケーションのテストのたびにリモートアクセスセッションを作成したくない場合に特に便利です。

リモートアクセスセッションを開始する前には、「AWS Device Farm でのインスタンスプロファイルの作成」の手順に従って、Device Farm でインスタンスプロファイルを作成または変更します。インスタンスプロファイルで、テストアプリケーションまたはダミーアプリケーションのバンドル ID を [クリーンアップからパッケージを除外] 設定に追加します。その後、このインスタンスプロファイルをプライベートデバイスインスタンスにアタッチして、新しいテスト実行の開始前に Device Farm がデバイスからこのアプリケーションを削除しないようにします。これにより、開発者の証明書は信頼されたままとなります。

ダミーアプリケーションはリモートアクセスセッションを使用してデバイスにアップロードでき、アプリケーションを起動し、開発者を信頼できます。

  1. セッションの作成」の手順に従って、作成したプライベートデバイスインスタンスプロファイルを使用するリモートアクセスセッションを作成します。セッションを作成するときは、必ず [アプリケーション再署名をスキップ] を選択します。

    リモートアクセスセッションを作成するときにアプリケーション再署名をスキップする

    重要

    プライベートデバイスのみを含むようにデバイスのリストをフィルタリングするには、必ず正しいインスタンスプロファイルでプライベートデバイスを使用するように [プライベートデバイスインスタンスのみ] を選択します。

    ダミーアプリケーションまたはテストするアプリケーションも、このインスタンスにアタッチされているインスタンスプロファイルの [クリーンアップからパッケージを除外] 設定に必ず追加してください。

  2. リモートセッションが開始したら、[ファイルを選択] を選択し、社内プロビジョニングプロファイルを使用するアプリケーションをインストールします。

  3. アップロードしたアプリケーションを起動します。

  4. 開発者証明書を信頼する手順に従います。

この構成プロファイルまたはエンタープライズアプリケーション開発者のすべてのアプリケーションは、削除するまでこのプライベートデバイス上で信頼されるようになりました。