

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 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 파일을 열고 “UIRequiredDeviceCapacabilities” 키가 지정되었는지 확인한 다음 다시 시도하세요.

다음 예제에서 패키지 이름은 **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) 단원을 참조하세요.