

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

# AWS Device Farm の iOS アプリケーションテストのトラブルシューティング
<a name="troubleshooting-ios-applications"></a>

次のトピックでは、iOS アプリケーションテストのアップロード中に発生するエラーメッセージを挙げ、各エラーを解決するための推奨回避策を示します。

**注記**  
以下の手順は Linux x86\_64 および Mac を対象にしています。

## IOS\_APP\_UNZIP\_FAILED
<a name="IOS_APP_UNZIP_FAILED"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
アプリケーションを開けませんでした。ファイルが有効であることを確認して、もう一度お試しください。

エラーなしでアプリケーションパッケージを解凍できることを確かめてください。次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   有効な iOS アプリケーションパッケージでは、次のような出力が生成されます:

   ```
   .
   `-- Payload (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- Info.plist
                         `-- (any other files)
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_PAYLOAD\_DIR\_MISSING
<a name="IOS_APP_PAYLOAD_DIR_MISSING"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
アプリケーション内に Payload ディレクトリが見つかりませんでした。アプリケーションを解凍し、Payload ディレクトリがパッケージ内にあることを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   iOS アプリケーションパッケージが有効な場合、{{Payload}} ディレクトリは作業ディレクトリ内にあります。

   ```
   .
   `-- {{Payload}} (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- Info.plist
                         `-- (any other files)
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_APP\_DIR\_MISSING
<a name="IOS_APP_APP_DIR_MISSING"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
Payload ディレクトリ内に .app ディレクトリが見つかりませんでした。アプリケーションを解凍し、次に Payload ディレクトリを開き .app ディレクトリがディレクトリ内にあることを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   iOS アプリケーションパッケージが有効な場合、{{Payload}} ディレクトリ内にこの例の {{AWSDeviceFarmiOSReferenceApp.app}} のような {{.app}} ディレクトリがあります。

   ```
   .
   `-- Payload (directory)
           `-- {{AWSDeviceFarmiOSReferenceApp.app}} (directory)
                         |-- Info.plist
                         `-- (any other files)
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_PLIST\_FILE\_MISSING
<a name="IOS_APP_PLIST_FILE_MISSING"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
.app ディレクトリ内に Info.plist ファイルが見つかりませんでした。アプリケーションを解凍し、次に .app ディレクトリを開き Info.plist ファイルがディレクトリ内にあることを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   iOS アプリケーションパッケージが有効な場合、この例の {{AWSDeviceFarmiOSReferenceApp.app}} のような {{.app}} ディレクトリ内に {{Info.plist}} ファイルがあります。

   ```
   .
   `-- Payload (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- {{Info.plist}}
                         `-- (any other files)
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_CPU\_ARCHITECTURE\_VALUE\_MISSING
<a name="IOS_APP_CPU_ARCHITECTURE_VALUE_MISSING"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
Info.plist ファイルに CPU アーキテクチャの値が見つかりませんでした。アプリケーションを解凍し、次に .app ディレクトリ内の Info.plist ファイルを開き、キー "UIRequiredDeviceCapabilities" が指定されていることを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   この例の {{AWSDeviceFarmiOSReferenceApp.app}} のような {{.app}} ディレクトリ内に {{Info.plist}} ファイルがあるはずです:

   ```
   .
   `-- Payload (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- {{Info.plist}}
                         `-- (any other files)
   ```

1. CPU アーキテクチャの値を見つけるため、Xcode または Python を使用して Info.plist を開くことができます。

   Python の場合、次のコマンドを実行して biplist モジュールをインストールできます:

   ```
   $ pip install biplist
   ```

1. 次に、Python を開き、次のコマンドを入力します:

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/AWSDeviceFarmiOSReferenceApp-cal.app/Info.plist')
   print info_plist['UIRequiredDeviceCapabilities']
   ```

   有効な iOS アプリケーションパッケージでは、次のような出力が生成されます:

   ```
   ['armv7']
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_PLATFORM\_VALUE\_MISSING
<a name="IOS_APP_PLATFORM_VALUE_MISSING"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
Info.plist ファイルにプラットフォームの値が見つかりませんでした。アプリケーションを解凍し、次に .app ディレクトリ内の Info.plist ファイルを開き、キー "CFBundleSupportedPlatforms" が指定されていることを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   この例の {{AWSDeviceFarmiOSReferenceApp.app}} のような {{.app}} ディレクトリ内に {{Info.plist}} ファイルがあるはずです:

   ```
   .
   `-- Payload (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- {{Info.plist}}
                         `-- (any other files)
   ```

1. プラットフォームの値を見つけるため、Xcode または Python を使用して Info.plist を開くことができます。

   Python の場合、次のコマンドを実行して biplist モジュールをインストールできます:

   ```
   $ pip install biplist
   ```

1. 次に、Python を開き、次のコマンドを入力します:

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/AWSDeviceFarmiOSReferenceApp-cal.app/Info.plist')
   print info_plist['CFBundleSupportedPlatforms']
   ```

   有効な iOS アプリケーションパッケージでは、次のような出力が生成されます:

   ```
   ['iPhoneOS']
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_WRONG\_PLATFORM\_DEVICE\_VALUE
<a name="IOS_APP_WRONG_PLATFORM_DEVICE_VALUE"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
Info.plist ファイルでプラットフォームデバイスの値が間違っていることが分かりました。アプリケーションを解凍し、次に .app ディレクトリ内の Info.plist ファイルを開き、キーの値 "CFBundleSupportedPlatforms" にキーワード "simulator" が含まれていないことを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   この例の {{AWSDeviceFarmiOSReferenceApp.app}} のような {{.app}} ディレクトリ内に {{Info.plist}} ファイルがあるはずです:

   ```
   .
   `-- Payload (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- {{Info.plist}}
                         `-- (any other files)
   ```

1. プラットフォームの値を見つけるため、Xcode または Python を使用して Info.plist を開くことができます。

   Python の場合、次のコマンドを実行して biplist モジュールをインストールできます:

   ```
   $ pip install biplist
   ```

1. 次に、Python を開き、次のコマンドを入力します:

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/AWSDeviceFarmiOSReferenceApp-cal.app/Info.plist')
   print info_plist['CFBundleSupportedPlatforms']
   ```

   有効な iOS アプリケーションパッケージでは、次のような出力が生成されます:

   ```
   ['iPhoneOS']
   ```

   iOS アプリケーションが有効な場合、値にキーワード `simulator` を含めることはできません。

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_FORM\_FACTOR\_VALUE\_MISSING
<a name="IOS_APP_FORM_FACTOR_VALUE_MISSING"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
Info.plist ファイルにフォームファクタの値が見つかりませんでした。アプリケーションを解凍し、次に .app ディレクトリ内の Info.plist ファイルを開き、キー "UIDeviceFamily" が指定されていることを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   この例の {{AWSDeviceFarmiOSReferenceApp.app}} のような {{.app}} ディレクトリ内に {{Info.plist}} ファイルがあるはずです:

   ```
   .
   `-- Payload (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- {{Info.plist}}
                         `-- (any other files)
   ```

1. フォームファクタの値を見つけるため、Xcode または Python を使用して Info.plist を開くことができます。

   Python の場合、次のコマンドを実行して biplist モジュールをインストールできます:

   ```
   $ pip install biplist
   ```

1. 次に、Python を開き、次のコマンドを入力します:

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/AWSDeviceFarmiOSReferenceApp-cal.app/Info.plist')
   print info_plist['UIDeviceFamily']
   ```

   有効な iOS アプリケーションパッケージでは、次のような出力が生成されます:

   ```
   [1, 2]
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_PACKAGE\_NAME\_VALUE\_MISSING
<a name="IOS_APP_PACKAGE_NAME_VALUE_MISSING"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
Info.plist ファイルにパッケージ名の値が見つかりませんでした。アプリケーションを解凍し、次に .app ディレクトリ内の Info.plist ファイルを開き、キー "CFBundleIdentifier" が指定されていることを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   この例の {{AWSDeviceFarmiOSReferenceApp.app}} のような {{.app}} ディレクトリ内に {{Info.plist}} ファイルがあるはずです:

   ```
   .
   `-- Payload (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- {{Info.plist}}
                         `-- (any other files)
   ```

1. パッケージ名の値を見つけるため、Xcode または Python を使用して Info.plist を開くことができます。

   Python の場合、次のコマンドを実行して biplist モジュールをインストールできます:

   ```
   $ pip install biplist
   ```

1. 次に、Python を開き、次のコマンドを入力します:

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/AWSDeviceFarmiOSReferenceApp-cal.app/Info.plist')
   print info_plist['CFBundleIdentifier']
   ```

   有効な iOS アプリケーションパッケージでは、次のような出力が生成されます:

   ```
   Amazon.AWSDeviceFarmiOSReferenceApp
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。

## IOS\_APP\_EXECUTABLE\_VALUE\_MISSING
<a name="IOS_APP_EXECUTABLE_VALUE_MISSING"></a>

次のメッセージが表示された場合は、下の手順に従って問題を解決してください。

**警告**  
Info.plist ファイルに実行可能な値が見つかりませんでした。アプリケーションを解凍し、次に .app ディレクトリ内の Info.plist ファイルを開き、キー "CFBundleExecutable" が指定されていることを確認して、もう一度試してください。

次の例では、パッケージの名前は「**AWSDeviceFarmiOSReferenceApp.ipa**」です。

1. アプリケーションパッケージを作業ディレクトリにコピーし、次に以下のコマンドを実行します:

   ```
   $ unzip AWSDeviceFarmiOSReferenceApp.ipa
   ```

1. 正常にパッケージを解凍したら、次のコマンドを実行して作業ディレクトリのツリー構造を見つけることができます:

   ```
   $ tree .
   ```

   この例の {{AWSDeviceFarmiOSReferenceApp.app}} のような {{.app}} ディレクトリ内に {{Info.plist}} ファイルがあるはずです:

   ```
   .
   `-- Payload (directory)
           `-- AWSDeviceFarmiOSReferenceApp.app (directory)
                         |-- {{Info.plist}}
                         `-- (any other files)
   ```

1. 実行可能な値を見つけるため、Xcode または Python を使用して Info.plist を開くことができます。

   Python の場合、次のコマンドを実行して biplist モジュールをインストールできます:

   ```
   $ pip install biplist
   ```

1. 次に、Python を開き、次のコマンドを入力します:

   ```
   import biplist
   info_plist = biplist.readPlist('Payload/AWSDeviceFarmiOSReferenceApp-cal.app/Info.plist')
   print info_plist['CFBundleExecutable']
   ```

   有効な iOS アプリケーションパッケージでは、次のような出力が生成されます:

   ```
   AWSDeviceFarmiOSReferenceApp
   ```

   詳細については、「[AWS Device Farm での iOS テスト](test-types-ios-tests.md)」を参照してください。