-
[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>
참고
NSAppTransportSecurity | Apple Developer Documentation
A description of changes made to the default security for HTTP connections.
developer.apple.com
NSExceptionDomains | Apple Developer Documentation
Custom App Transport Security (ATS) configurations for named domains.
developer.apple.com
https://m.boostcourse.org/mo326/lecture/20810
iOS 앱 프로그래밍
부스트코스(boostcourse)는 모두 함께 배우고 성장하는 비영리 SW 온라인 플랫폼입니다.
m.boostcourse.org
' > 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