iOS Enablerを使用してiOSアプリを手動でパッケージ化する
iOS Enablerユーティリティは、アプリの再署名と再パッケージ化を簡素化およびサポートするために提供されています。iOS Enablerは、GUIバージョンとコマンドラインバージョンの両方で使用できます。
前提条件
Macマシンが必要なシステム要件を満たしていることを確認してください。詳細については、サポートマトリックスを参照してください。
Xcodeがインストールされていることを確認するには、次の手順を実行します。
- ターミナルウィンドウで、
codesign
と入力します。
codesignの使用法が表示されます。 - codesignコマンドがない場合は、Xcodeが正しくインストールされていないため、再インストールする必要があります。
追加の必要なリソース
次のリソースをMacマシンにコピーします。
リソース | 詳細 |
---|---|
iOS Enabler |
Enablerは、OpenText Functional Testing LabサーバーマシンのAgentディレクトリにあります。 Windows: iOS Enablerツールは、GUIバージョンとコマンドラインバージョンの両方で使用できます。 |
エージェントアプリ (iOS Enablerを使用してエージェントアプリに署名する場合のみ) |
OpenText Functional Testing Labコンソールの[アプリ] > [iOSエージェントアプリ] からエージェントアプリをダウンロードします (管理者ユーザーのみ)。 OpenText Core Software Delivery Platform OpenText Functional Testing Lab: コネクターのAgentフォルダーでエージェントアプリを見つけます。 |
Functional Testing Lab for Mobile and Web dylib | このライブラリを使用すると、アプリをOpenText Functional Testing Labで使用できます。このライブラリは、iOS Enablerパッケージに含まれており、ADM Marketplaceから Linux: <OpenText Functional Testing Lab_server_installdir>/server/Agent Windows: <OpenText Functional Testing Lab_server_installdir>\server\Agent |
Code signing certificate |
これは、組織が署名アプリのコーディングに使用する証明書です。証明書は、使用しているMacマシンにインストールされている必要があり、キーチェーンアクセスプログラムで確認できます。必要な証明書の詳細については、iOSアプリの署名を参照してください。 |
Code signing provisioning profile | これは、組織がアプリのコード署名に使用するモバイルプロビジョニングプロファイルです。これは元々、Apple Developer Member Webサイトからダウンロードされ、Macにインストールされたファイルです。プロビジョニングプロファイルの生成方法の詳細については、開発プロビジョニングプロファイルを生成するを参照してください。 |
Mac上のiOS Enabler-GUIバージョン
iOS EnablerのGUIバージョンでは、グラフィカルインターフェイスを使用して、必要な値を正確かつ簡単な方法で入力できます。
GUI iOS Enablerを使用してアプリに再署名または再パッケージ化するには:
- ダウンロードしたEnabler.zipパッケージからMacマシンにファイルを抽出します。
-
iOSEnabler-GUI.appを開きます。アプリをCtrlキーを押しながらクリックまたは右クリックして、コンテキストメニューから開くを選択します。
注: EnablerのGUIバージョンはMac App Storeでは配布されません。App Storeからインストールしようとすると、身元不明の開発者によるものであるため、アプリケーションを開くことができないことを示すセキュリティ警告が発行されます。代わりに、上記の方法を使用してください。
-
iOS Enablerのフィールドに入力します。
次にユーザーインターフェイス要素について説明します。
UI要素 説明 Agent/L - AUT Enablerモード:Agent/Lモード: エージェントアプリに署名するコード用AUTモード: アプリの署名とパッケージ化用Original IPA 再署名する元のipaファイルへのフルパス。たとえば、エージェントアプリに再署名する場合は、/<full_path>/Agent.ipa
と入力します。OpenText Functional Testing Lab Dylib AUTモードのみ。アプリがOpenText Functional Testing Labで動作できるようにするために挿入するライブラリ。ライブラリはiOSEnabler.zipファイルに含まれています。また、OpenText Functional Testing LabサーバーマシンのAgentディレクトリにもあります。
Destination Macマシンで生成されたファイルの宛先。Provision Profile Macマシン上のプロビジョニングプロファイルファイルへのパス。Certificate Name キーチェーンからインストールされた証明書のドロップダウンリスト。リストから証明書を選択するか、提案をクリックして、推奨される証明書を取得します。証明書がリストされていない場合、このMacマシンに正しくインストールされていません。
注: iOS Enablerは証明書の有効性をチェックしないため、証明書が有効であることを確認する必要があります。
Verbose エージェントが正しく有効になっていない場合、テキスト領域に警告メッセージとエラーメッセージを表示します。ヒント: 既存の資格を保持するには、Provision Profileフィールドを空のままにし、Certificate Nameフィールドで元のipaと同じ証明書名を使用してください。
-
[Run] をクリックします。これにより、コード署名証明書とプロビジョニングプロファイルでカスタマイズされた追加のipaファイルが生成されます。
-
新しいipaファイルが作成されます。再署名されたファイルには、ファイル名に-Codesignedが含まれます。ファイル名から -Codesignedを削除してファイル名を変更します。たとえば、Agent-Codesigned.ipaの名前はAgent.ipaに変更する必要があります。
次の追加手順を実行します。
エージェントアプリ: 再署名したエージェントアプリを配布する (手動署名のみ) に進みます。
他のアプリ: 新しいipaをOpenText Functional Testing Labにアップロードします。注: iOSデバイスを追加または変更した結果として、新しいまたは変更されたipaファイルをアップロードするときは常に、デバイスのプラグを抜いてから再度差し込んでください。
Mac上のiOS Enabler - コマンドラインバージョン
iOS Enablerのコマンドラインバージョンでは、ターミナルコマンドラインを使用してアプリに再署名および再パッケージ化できます。
ターミナルコマンドラインからイネーブラーを実行する場合は、次の構文を使用します。
$ <path>/iOS Enabler <path>/<original_ipa>.ipa [<options>]
コマンドラインオプション:
オプション | 詳細 |
---|---|
-inject |
dylibをアプリに挿入します。UFT Mobile dylibへのフルパスを指定します。 |
-codesign |
アプリを証明書と共同設計します。これは、組織が署名アプリのコーディングに使用する証明書です。証明書は、使用しているMacマシンにインストールされている必要があり、OSXキーチェーンアクセスプログラムで確認できます。 キーチェーンに示されている証明書のフルネームを使用します。 必要な証明書の詳細については、iOSアプリの署名を参照してください。 |
-p | モバイルプロビジョニングプロファイルをアプリに添付します。Macマシンのプロビジョニングプロファイルへのパスを指定します。 |
-e | 資格ファイル。 |
-r | リソースルールリスト。カスタムリソースルールファイル。 |
--original-res-rules | 元のIPAのリソースルールファイルResourceRules.plistを使用します。 |
--generic-res-rules | 一般的なリソースルール定義を適用します。リソースの問題が原因でコードサインが失敗する場合は、このオプションを試してください。汎用テンプレートが使用されます。 |
--force-res-rules | -original-res-rulesオプションが設定されているかのようにイネーブラーを実行します。元のルールが見つからなかった場合は、-generic-res-rulesオプションが使用されたかのようにイネーブラーが実行されます。 |
--no-url-scheme | Info.plistに一意のURLスキームを追加しないでください。デフォルトで追加されます。スキームの形式はhpmc-(a 32 char uid) です。 |
--verify-agent | エージェントが正しく有効になっていない場合は、警告を発行します。 |
-d destination folder | 新しい.ipaファイルを配置するフォルダーへのオプションのパス。フォルダーが存在している必要があります。 |
-n new file name | 新しい.ipaファイルのオプションの名前。 |
-v | 詳細 |
-V | 印刷版 |
-h | 印刷の使用法 |
イネーブラーを実行すると、新しいipaファイルが作成されます。
- エージェントアプリ: 再署名したエージェントアプリを配布する (手動署名のみ) に進みます。
- 他のアプリ: 新しいipaをOpenText Functional Testing Labにアップロードします。
注: iOSデバイスを追加または変更した結果として、新しいまたは変更されたipaファイルをアップロードするときは常に、デバイスのプラグを抜いてから再度差し込んでください。
iOS Enabler - コマンドラインの例
次の例は、イネーブラーコマンドラインツールの一般的な使用法を示しています。
-
エージェントアプリに再署名する
<path to iOS Enabler> <path>/Agent.ipa –codesign <certificate_name> -p <path to mobile.provision> --verify-agent
-
WebDriverAgentRunner.ipaに再署名する
$ <path to iOS Enabler> <path>/WebDriverAgentRunner.ipa –codesign <certificate_name> -p <path to mobile.provision>
-
WebDriverAgentRunner_less15.ipaに再署名する
$ <path to iOS Enabler> <path>/WebDriverAgentRunner_less15.ipa –codesign <certificate_name> -p <path to mobile.provision>
-
アプリを再パッケージングする
$ <path to iOS Enabler> <path to your_app.ipa> -inject <path to UFT Mobile dylib> –codesign <certificate name> -p <path to mobile.provision> –d <destination_folder>
再署名したエージェントアプリを配布する (手動署名のみ)
エージェントアプリに再署名したら、次の方法でデプロイします。
-
ファイル名から -Codesignedを削除してファイル名を変更します。たとえば、エージェントファイルの名前をAgent-Codesigned.ipaからAgent.ipaに変更する必要があります。
- OpenText Functional Testing Labにアプリをアップロードします。
-
[デバイスラボ] > [コネクター] に移動し、グリッドで必要なコネクターを選択して、[エージェントの配布] ボタン
をクリックします。更新されたエージェントアプリがコネクターに配布されたら、グリッドから関連するコネクターを選択し、[デバイスの再接続] をクリックします。詳細については、コネクターの表示と管理を参照してください。
アプリカードでエージェントアプリの以前のアップロードが選択されている場合でも、コネクターへの配布には常に最新のアップロードが使用されることに注意してください。
- 「get-task-allow」エンタイトルメントがtrueに設定されている。
- デバイスのすべてのUDIDがリストに含まれている。
注: エージェントがデバイスにインストールまたは実行されない場合は、コード署名証明書またはプロビジョニングプロファイルに問題がある可能性があります。次のことを確認します。
その他の参照項目: