iOS Allow a HTTP communication
운영 체제: macOS Monterey 12.5
사용 버전: Xcode 13.4.1, Swift
애플에서는 안전하지 않은 HTTP 통신을 사용하지 말라고 합니다. 그 대신 안전한 HTTPS를 사용하라고 합니다. HTTP 통신을 어쩔 수 없이 사용해야 한다면 설정에서 가능하게 만들어줘야 합니다.
HTTP를 그냥 사용한다면 아래와 같은 경고와 함께 오류가 납니다.
최초의 웹 사이트로 한 번 연결을 시도해 보겠습니다. 요즘은 다 인증서가 잘 되어서 http 사이트 찾기도 힘드네요.
http://info.cern.ch
사용 버전: 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
댓글
댓글 쓰기
궁금한 점은 댓글 달아주세요.
Comment if you have any questions.