iOS Allow a HTTP communication

운영 체제: macOS Monterey 12.5
사용 버전: Xcode 13.4.1, Swift

iOS Allow a HTTP communication을 알아보겠습니다.


애플에서는 안전하지 않은 HTTP 통신을 사용하지 말라고 합니다. 그 대신 안전한 HTTPS를 사용하라고 합니다. HTTP 통신을 어쩔 수 없이 사용해야 한다면 설정에서 가능하게 만들어줘야 합니다.

HTTP를 그냥 사용한다면 아래와 같은 경고와 함께 오류가 납니다.
최초의 웹 사이트로 한 번 연결을 시도해 보겠습니다. 요즘은 다 인증서가 잘 되어서 http 사이트 찾기도 힘드네요.
http://info.cern.ch





App Transport Security has blocked a cleartext HTTP connection since it is insecure. Use HTTPS instead or add Exception Domains to your app's Info.plist.



HTTPS를 사용하면 자동으로 해결될 문제이고, HTTP를 쓰려면 Info.plist에 예외 처리를 하라고 합니다.

Info.plist로 갑니다.






여기에 여러 키 들을 넣어야 합니다. 어떤 것을 넣어야 하는지는 아래 사이트에 나와 있습니다.










여기서 우리는 NSAppTransportSecurity, NSExceptionDomains와 NSExceptionAllowsInsecureHTTPLoads를 사용할 겁니다.


Information Property List의 화살표를 눌러서 아래로 향하는 화살표로 만들어 하위 폴더를 보이게 합니다. 그리고 옆에 더하기 버튼을 눌러서 App Transport Security Settings를 추가합니다. Type은 Dictionary로 만듭니다.






App Transport Security Settings의 화살표를 눌러 아래로 향하는 화살표를 만들어 항목을 보이게 한 다음, 더하기 버튼을 누릅니다.

아래에는 Exception Domains를 적고 Type은 Dictionary로 만듭니다.







화살표를 눌러 항목을 표시하고 도메인을 적어줍니다. Type을 Dictionary로 만듭니다.







도메인의 화살표를 눌러 하위 목록을 보이게 한 다음, NSExceptionAllowsInsecureHTTPLoads를 적습니다. Type은 Boolean으로 만들고 Value는 1(YES)로 합니다.





이제 앱을 삭제 후 다시 실행해 봅니다.

이제, HTTP 관련 경고와 오류가 나오지 않을 겁니다.



끝.


카테고리: iOS


댓글

이 블로그의 인기 게시물

Python OpenCV 빈 화면 만들기

Python urllib.parse.quote()

Python bytes.fromhex()

Android AVD Ram size change

Forensics .pyc 파일 .py로 복구하기

Android Minimum touch target size

KiCad 시작하기 7 (FreeRoute 사용하기 2)

Android Notification with Full Screen

C++ OpenCV 모폴로지 침식, 팽창

KiCad 시작하기 2 (PCB 만들기)