개요: 웹앱 프로젝트에 카카오맵 스크립트가 불려오지 않는 오류가 생김 (ios 앱에서만)
우선, 카카오 맵을 웹에서 사용하기 위해 script를 추가해야된다.
index.html
<script type="text/javascript" src="https://dapi.kakao.com/v2/maps/sdk.js?appkey={ appkey }"></script>
이걸 사용하고 자 하는 컴포넌트에서 declare 하여 사용하는데, 웹, android 에선 잘 되는데 ios에서만 안되는 오류가 발견;;
오류를 보고 구글링을 하닥보니, ios 웹뷰 정책으로 인해서, ios 앱에서만 카카오맵 스크립트를 못불러오는 상황이였음.
이 ios 정책을 뚫어서 웹뷰로 카카오 맵을 띄워주기 위해 고군분투 시작
info.plist
<key>LSApplicationQueriesSchemes</key>
<array>
<string>kakaokompassauth</string>
<string>kakaomap</string>
</array>
<key>NSAppTransportSecurity</key> <!-- 앱의 네트워크 보안 정책 설정 -->
<dict>
<key>NSAllowsArbitraryLoads</key>
<true/> <!-- 앱이 임의의 네트워크 요청을 허용하도록 설정 -->
<key>NSExceptionDomains</key>
<dict>
<key>map.kakao.com</key> <!-- 카카오맵 도메인에 대한 예외 설정 -->
<dict>
<key>NSIncludesSubdomains</key>
<true/> <!-- 하위 도메인도 예외 처리 -->
<key>NSExceptionAllowsInsecureHTTPLoads</key>
<true/> <!-- HTTP 요청을 허용. HTTPS가 아닌 HTTP로 로드되는 리소스를 허용 -->
<key>NSExceptionRequiresForwardSecrecy</key>
<false/> <!-- HTTPS 연결에 대해 'Forward Secrecy' 요구를 비활성화 -->
</dict>
</dict>
</dict>
요롷게 추가하니깐 되더랑구
기본적으로 카카오 scripts는 https 로 되어있으니, NSExceptionAllowsInsecureHTTPLoads 는 굳이 추가하지 않아도 될거같음
'잡다한것들' 카테고리의 다른 글
Chart.js 'Error: "doughnut" is not a registered controller.' (0) | 2024.12.10 |
---|---|
[git] 이전커밋으로 이동 후, 변경하기 (0) | 2024.11.04 |
kakao map API 사용시, 띄는 warning 문구 (1) | 2024.08.28 |
package.json에 scripts 추가하기 (0) | 2024.07.16 |
Third-party cookie will be blocked. Learn more in the Issues tab. (0) | 2024.04.05 |
댓글