HTTP 통신 허용 방법

2019-09-07
iOS

안녕하세요. 도미닉입니다.

json 을 받아오는 등의 네트워크 작업을 할 때 http 통신을 하게 되면 아래와 같은 오류를 마주하게 됩니다.

1
2
3
4
5
App Transport Security has blocked a cleartext HTTP (http://) resource load since it is 
insecure. Temporary exceptions can be configured via your app's Info.plist file.

The resource could not be loaded because the App Transport Security policy requires the
use of a secure connection.

애플이 보안 상의 이유로 오류를 발생시켜 막아놓은 것입니다.

실제 서비스에는 https 를 사용해야 하겠습니다.

개발이나 테스트용, 어쩔 수 없는 이유가 있다면 http 통신을 허용할 수 있습니다.

HTTP 통신 허용 방법

  1. Info.plist 를 source code 모드로 엽니다.

  2. 아래 코드를 dict 태그 안에 복사 붙여넣기 합니다.

    1
    2
    3
    4
    5
    <key>NSAppTransportSecurity</key>
    <dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
    </dict>
  3. 저장합니다.

위에 내용을 수행하신 뒤에 다시 http 통신을 시도해보시면 오류 없이 동작할 것입니다.

정리

문제가 있거나 궁금하신 내용 있으면 댓글주세요.

읽어주셔서 감사합니다.

참고 : https://slobell.com/blogs/54