iOSデバイス上のアプリケーションのテストに関する前提条件について(Silk Test 17.5、Silk Test 17.5HF1)
※本前提条件は、Silk Test 18.0で緩和されました。Silk Test 18.0では署名の有無にかかわらずテストが可能です。
iPhone等のiOSの実デバイス上でのテストに関して、SilkTest Mobileでテスト可能なアプリは、開発用(Development Provisioning Profile)で署名されている必要があります。
このため、以下に該当するアプリの場合、SilkTest Mobileではテストできません。
- AppleのApp Storeからダウンロードしたアプリ
- 対象のiOSの実デバイスに通常の方法でインストールできないアプリ
- 配布用(Distribution Provisioning Profile)で署名されているアプリ
なお、シミュレータに関しては、署名は必要ありませんので、この制限はありません。
以下に、アプリのipaファイルが開発用、配布用のどちらで署名されているかを見分ける方法を記載します。
1. ipaファイルの拡張子をzipに変更し、通常のzipファイルと同様に展開します。
2. 展開したフォルダ中のファイル名「embedded.mobileprovision」を
メモ帳ではなく、高性能なテキストエディタ(Windowsなら秀丸等、macOSならmi等)
で開きます。その際に、テキストのエンコーディングはUTF-8を指定します。
このファイルにはテキストとバイナリが混在しています。
3. 以下のようなDeveloperCertificatesの文字が存在する行を見つけます。
その後の<data>と</data>の間に挟まれている文字列をコピーして、
その部分だけを新しいテキストファイルとして保存します。
<key>DeveloperCertificates</key>
<array>
<data>MIIFnj*********...*********a7pR/p+Hg=</data>
</array>
4. 保存したテキストファイルをbase64でデコードします。base64は一般的に広く用いられているバイナリデータのエンコード方法です。
例えば、以下のようなコマンドでデコードが可能です。
Windowsの場合:
certutil -f -decode 入力ファイル.txt 出力ファイル.txt
macOSの場合:
cat 入力ファイル.txt | base64 --decode > 出力ファイル.txt
この他にGUIツール等も多数存在しておりますので、「base64 デコード フリーソフト」等のキーワードで検索してください。
5. デコードしたファイルをメモ帳ではなく、高性能なテキストエディタで開きます。
その際に、テキストのエンコーディングはUTF-8を指定します。
このファイルにはテキストとバイナリが混在しています。
このファイル中に以下のような「iPhone Developer」の文字列があれば、このipaファイルは開発用です。
iPhone Developer: Nobunaga Oda (ABCDE12345)
このファイル中に以下のような「iPhone Distribution」の文字列があれば、このipaファイルは配布用です。
iPhone Distribution: Hideyoshi Toyotomi (FGHIJ67890)