일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 함수
- 패스트캠퍼스
- xcode
- 인스펙터
- 프로퍼티 관찰자
- 직장인인강
- ios
- Optional Chaining
- Threading
- Background
- userDefaults
- 옵셔널 체이닝
- Realm
- 30개프로젝트로배우는iOS앱개발withSwift초격자패키지Online
- 독학
- RawValue
- 기본문법
- 문자열 보간법
- switch
- enum
- TableView
- SeSAC
- Git
- 열거형
- swift
- cancelAsyncWrite
- beginAsyncWrite
- 패스트캠퍼스후기
- 직장인자기계발
- 패캠챌린지
- Today
- Total
아삭아삭 iOS 개발
[문제해결] URLSessionTask failed with error: The resource could not be loaded because the App Transport Security~~ 본문
[문제해결] URLSessionTask failed with error: The resource could not be loaded because the App Transport Security~~
바닐라머스크 2022. 6. 15. 19:48
<문제상황>
데이터 호출을 위해 Alamofire를 사용하여 Open API 연동시 아래 에러가 발생했습니다.
에러문구를 확인하기 위해 아래 코드를 추가하니 에러원인을 친절하게 알려줍니다.
switch response.result {
case .success(let response):
print("DEBUG>> OpenParmacy Response \(response) ")
viewController.didSuccess(response)
case .failure(let error):
print("DEBUG>> OpenParmacy Get Error : \(error.localizedDescription)")
}
확인한 에러문구는 아래와 같은데,
App Transport Security policy가 보안연결 사용을 요구하기 때문이라고 합니다. 흠
URLSessionTask failed with error: The resource could not be loaded because the App Transport Security policy requires the use of a secure connection.
<문제원인>
애플 플랫폼상 App Transport Security policy(줄여서 ATS)라고 부르는 네트워킹 특징은 모든 앱의 데이터 무결성과 보안을 향상시킨다고 합니다.
그런데! 이 ATS는 URL를 끌어오는 시스템으로 만들어진 모~든 HTTP 연결들이 HTTPS를 사용하도록 요구합니다.
심지어 Transport Layer Security(줄여서 TLS) 프로토콜로 규정된 기본적인 서버 신뢰평가를 보완하도록 확장된 보안 체크를 부과합니다. 이때 ATS는 최소한의 보안 스펙을 충족하지 못하는 연결들을 차단한다고 하네요. [1]
에..?
뭔가 어려운 말이지만.. 간단하게 보안상의 이유로 HTTP 연결이 막혔다고 볼 수 있겠네요.
<문제해결>
info.plist 파일 내부항목을 수정하여 해결
step1) 프로젝트내 info.plist 파일 열기
step2) 마우스 오른쪽 클릭하여 Open as > Source Code 클릭
step3) 소스코드내 아래 코드를 기입
- App Transport Security Settings를 딕셔너리로 추가하고
- Allow Arbitrary Loads 를 추가하여 yes값을 준다는 의미가 있음
<key>NSAppTransportSecurity</key>
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/>
</dict>
■ 참조자료
'문제해결' 카테고리의 다른 글
[문제해결] cannot be opened because it is in a future Xcode project file format 버전호환 문제 (0) | 2022.05.16 |
---|