-
[iOS] HTTP 통신 허용/iOS 📱 2023. 11. 4. 17:05반응형
안녕하세요 아렉스입니다 ! :D
iOS 9부터 HTTP가아닌 HTTPS로의 접근만 허용하였기 때문에 HTTP로 접근 하기위해서는 설정이 필요하다.
Apple 에서 앱 자체의 보안성을 위해 ATS(App Transport Security)라는 정책을 통하여
iOS9 버전 이후 부터는 보안에 취약한 네트워크를 차단 시킨다. *상세 내용은 하단 참고링크에서 확인해보세요
1. 모든 HTTP통신 허용
info.plist에서 APP Transport Security Settings -> Allow Arbitray Loads 를 YES로 변경 해준다
XML 코드
<key>NSAppTransportSecurity</key> <dict> <key>NSAllowsArbitraryLoads</key> <true/> </dict>
2. 특정 도메인만 선택적으로 HTTP통신 허용
info.plist에서 APP Transport Security Settings -> Exception Domains 예외 처리할 도메인의 주소를 입력
도메인 입력시 주의사항은 lowercase, Domain name, IP address, or IP address range 을 사용해야해요
입력한 도메인의 타입을 Dictionary로 변경 해준후 하위 항목을 추가해줘야해요
사용하는 하위 항목 목록은 네가지입니다.
1. NSExceptionAllowsInsecureHTTPLoads, 2. NSIncluedsSubdomains 순으로 가장 많이 쓰이는 듯 합니다
- NSIncluedsSubdomains
- NSExceptionAllowsInsecureHTTPLoads
- NSExceptionMinimumTLSVersion
- NSExceptionRequiredForwardSecrecy
NSExceptionAllowsInsecureHTTPLoads: 도메인에 대하여 HTTP 접속을 허용 할것인가? -> YES
NSIncluedsSubdomains: 해당 도메인의 서브 도메인 까지 설정에 포함 할 것인지 -> YES
XML 코드
<key>NSAppTransportSecurity</key> <dict> <key>NSExceptionDomains</key> <dict> <key>naver.com</key> <dict> <key>NSIncluedsSubdomains</key> <true/> <key>NSExceptionAllowsInsecureHTTPLoads</key> <true/> </dict> </dict> </dict>
참고
https://m.boostcourse.org/mo326/lecture/20810
' > iOS 📱' 카테고리의 다른 글
[iOS] Meet AccessorySetupKit 정리 (0) 2024.06.14 [iOS] Storyboard에서 accessibilityIdentifier 설정하기 (User Defined Runtime Attributes) (0) 2024.03.13 [iOS] class가 NSObject를 상속받아야할 때 (NSObjectProtocol) (1) 2023.11.04 [iOS] 하이브리드 앱 개발시 Bridge 구현 (Javascript와 통신하기 - WKScriptMessageHandler) (0) 2023.11.03 [iOS] iPhone(아이폰) 기기 식별하기 (모델, 모델명 구하기) (0) 2023.08.13