본문 바로가기
Mobile Programming/IOS(Swift)

[iOS] App HTTP 접근 허용하기

by 푸고배 2020. 4. 2.

ATS(App Transport Sercurity)는 iOS 9 버전 이후부터 적용된 보안 정책으로, 보안에 취약한 네트워크를 차단시킨다.

따라서 HTTP 접근 시 Console 창에 다음과 같은 에러가 발생하며 안내사항과 같이 Info.plist 수정을 통해서 HTTP 접근을 허용해줘야한다.


App Transport Sercurity has blocked a cleartext HTTP (http://) resource load since it is insecure.

Temporary exceptions can be configured via your app's Info.plist file.


1. Xcode 프로젝트내부의 info.plist에 접근한다.

 


Info.plist를 누르면 Key, Type, Value 컬럼을 가진 표가 화면에 나타난다.


2. info.plist 수정하기


lnfo.plist를 수정하는 방법에는 두 가지가 있다.

둘 중 편한 방법을 사용해서 info.plist를 수정하면 된다. 


2-1 . default type으로 추가하는 방법



1. 표 최상단의 Information Property List에 마우스를 가져가면 +버튼이 보인다.

2. +버튼을 이용해서 App Transport Security Settings를 입력한다.(자동완성으로 문자가 뜰 것이다.)

3. App Transport Security Settings를 1번과 같은 과정을 통해서 새로운 키를 추가한다.

4. keyAllow Arbitrary Loads, Value YES(Boolean)로 입력한다.


2-2. xml type으로 추가하는 방법


info.plist를 마우스 우클릭하여 Open as -> Source Code를 선택하면 파일을 xml 타입으로 열 수 있다.


<key>NSAppTransportSecurity</key>

<dict>

    <key>NSAllowsArbitraryLoads</key>

    <true/>

</dict>


상단의 코드를 <dict></dict> 태그 안에 붙여 넣어준다.


참고 자료 : 

https://forums.developer.apple.com/message/15705#15705

https://adora-y.tistory.com/entry/iOS-App-Transport-Security-%ED%95%B4%EC%A0%9C%ED%95%98%EC%97%AC-HTTP%ED%94%84%EB%A1%9C%ED%86%A0%EC%BD%9C-%EC%97%B0%EA%B2%B0%ED%95%98%EA%B8%B0

반응형

댓글