ABOUT ME

작은 디테일에 집착하는 개발자

Today
-
Yesterday
-
Total
-
  • [iOS] 테스트 플라이트 "수출규정 문서 누락" 한 번에 해결하기 (Feat. 암호화 알고리즘? )
    IT Study/iOS 2024. 12. 8. 14:53
    728x90

    출처 : https://goodkarma.tistory.com/170

     

    귀찮은 단계 없애도록 합시다

     

    iOS 앱을 배포하기 위해 테스트 플라이트나 앱 스토어에 업로드하는 과정에서 다음과 같은 에러 메시지를 자주 만납니다.

    이 에러는 앱에서 암호화(Encryption) 기술을 사용하고 있는 경우, 애플이 미국 수출 규정에 따라 필요한 정보를 요청하기 때문에 발생합니다. 이번 글에서는 이 에러의 원인과 해결 방법을 알아보고, 수출 규정과 암호화 기술의 관계를 간단히 정리하겠습니다.

     


     

    1. 왜 이 에러가 발생할까?

    우리가 테스트 플라이트나 앱 스토어로 우리의 서비스를 제출하면, Apple은 미국의 서버로 우리의 서비스를 업로드합니다. 이때, 배포하는 사람의 소재지에 관계없이 우리의 서비스, 즉 앱은 미국 수출법의 적용을 받습니다.

    미국 법에 따르면, 암호화 기술을 포함한 소프트웨어를 수출할 경우 규제 준수 여부를 확인해야 합니다. Apple은 앱이 다음과 같은 기능을 포함할 때 추가적인 정보 제출을 요구합니다.

    • HTTPS 통신
    • 데이터 암호화
    • 인증서
    • 기타 암호화 알고리즘 사용

    이에 따라 앱에서 암호화를 사용하는 경우, 수출 규정 관련 정보를 제공하지 않으면 위와 같은 에러가 발생합니다.

     


     

    2. 어떻게 해결해야 할까?

    2-1. Info.plist 수정

    앱이 수출 규정 정보를 올바르게 전달하도록 Info.plist에 다음 항목을 추가합니다.

    <key>ITSAppUsesNonExemptEncryption</key>
    <false/>

     

    ITSAppUsesNonExemptEncryption 항목에 false라고 작성 함으로써, 암호화 기술이 면제 대상임을 명시합니다.

     

    2-2. Info.plist가 안 보여요

    프로젝트 경로에 Info.plist가 보이지 않을 경우, 아래와 같이 Xocde의 `PROJECT` > `TARGETS` > `Info` 탭에서 해당 항목을 추가할 수 있습니다.

    1. `PROJECT` > `TARGETS` > `Info` 탭으로 이동
    2. 마우스 우클릭 > `Add Row` > `App Uses Non-Exempt Encryption` 선택
    3. `Boolean` 및 `NO`선택

     

    2-3. 설정 이후

    위와 같이 설정을 추가한 이후, Xcode에서 앱을 Archive로 빌드하고 다시 앱을 테스트 플라이트 혹은 앱 스토어에 업로드합니다.

     


     

    3. HTTPS만 사용해도 수출 규정을 입력해야 하나요?

     

    ⚠️ 중요한 부분이니 명확히 짚고 넘어가세요.

     

    네, HTTPS는 TLS/SSL 암호화 기술을 사용하므로 규제 대상입니다.

    그러나 iOS, macOS, tvOS, watchOS에서 제공하는 URLSession이나 WKWebView 등을 사용해 HTTPS 요청을 보내는 경우, 이는 면제 대상에 해당하기 때문에 위와 같이 암호화 기술이 면제 대상임을 명시할 수 있습니다.

     


     

    4. 요약

    1. 테스트 플라이트 혹은 앱 스토어 업로드 에러 발생 시, 내 서비스(앱)의 암호화 사용 여부를 확인합니다.
    2. App Store Connect에서 Export Compliance 정보를 정확히 입력하세요.
    3. 면제 조건에 해당하는 경우 ITSAppUsesNonExemptEncryption 키를 false로 설정하세요.
    4. 면제 조건에 해당하지 않는다면 BIS 등록 및 문서 제출이 필요합니다.


    이제 TestFlight에서 "수출규정 문서 누락" 에러로 더 이상 고생하지 마세요. 여러분의 앱 배포 여정을 응원합니다 🚀

Designed by Tistory.