OpenAPI을 활용한 SwiftUI 앱 개발 중에 문제가 발생했다.
앱 실행 시 "App Transport Security has blocked a cleartext HTTP connection to openapi.seoul.go.kr since it is insecure. Use HTTPS instead or add this domain to Exception Domains in your Info.plist."라는 오류가 발생한다.
이는 API가 http 프로토콜을 사용하기 때문이다.
iOS는 기본적으로 http 통신을 허용하지 않으므로 별도의 설정을 하거나 https을 사용해야 한다.
해결 방법은 에러코드에서 제시한 그대로 ATP(App Transport Security) 설정을 하면 된다.
해결 방법
1. 먼저 Info을 확인하면 App Transport Security 설정이 없으므로 추가하기로 한다.
2. 우클릭 후 [Add Row]을 선택한다.
3. 'App Transport Security Settings'을 입력한다.
4. 'App Transport Security Settings' 입력 후 우측 [+] 버튼을 눌러 하위 행을 추가한다. 추가된 행에 'Allow Arbitrary Loads'을 입력한다.
5. 'Allow Arbitrary Loads' 행의 Value 칸을 클릭하여 'YES'를 선택한다.
위와 같이 http 통신을 허용해주면 문제없이 동작하는 것을 확인할 수 있다.
'Swift' 카테고리의 다른 글
[Swift] Error decoding JSON: The data couldn’t be read because it is missing 오류 및 해결방법 (0) | 2023.11.30 |
---|---|
[Swift] Xcode Assistant 상에 파일이 열리지 않는 문제 (0) | 2023.09.06 |