WKWebView에서 redirect URL 처리하기

이원희·2020년 11월 27일
0

📱 iOS

목록 보기
5/24
post-thumbnail

이 포스팅에서는 WKWebView에서 redirect URL처리에 대해서 알아보겠다.

redirect URL은 무엇일까?

네트워크 관련 포스팅이 아니라서 가볍게 보고 지나갈 것이다.
궁금하다면 네트워크 관련 포스팅을 보면 될거 같다!

redirect는 단어 그대로 "다시 지시하다"라는 뜻이다.


위의 사진은 여러 redirect 상황 중 하나이다.
브라우저는 http://A로 접근하려했는데 서버에서 https://A로 가라고 지시를 내렸다.
이처럼 다른 URL을 지시하는 것을 redirect라고 한다.

왜 redirect URL 처리를 포스팅 하는가

WKWebView에서 사용자가 주소를 입력해서 이동하는 기능을 구현했다.

https://www.naver.com을 주소창에 입력하면 네이버로 이동해야하는데 이동하지 않고 그대로 있었다.
코드를 잘못 짰나하고 https://www.github.com으로 이동해봤더니 잘되었다.
일단 코드의 문제는 아님을 확인했고, 다른 이유가 있을거라 생각했다.

네트워크 공부를 하다 http 프로토콜로 URL을 요청하면 https 프로토콜로 접근 가능한 URL이라면 https 프로토콜로 접근하라고 redirect 한다는게 생각났다.
곧바로 아이폰에서 safari에 https://www.naver.com으로 이동했고 주소창을 확인했다.
확인 결과는 https://m.naver.com였다.

WKWebView에서 redirect와 관련된 method가 없을까 찾아봤다.

(출처: https://developer.apple.com/documentation/webkit/wknavigationdelegate/1455627-webview)
WebView가 서버 redirection을 수신하면 호출되는 함수이다.

이 함수를 사용해

redirect url을 출력해봤고

다음과 같은 결과를 얻었다.
이후의 작업은 각자 필요에 따라 작성하면 될거 같다.

마무리

오늘은 이렇게 WKWebView에서 redirect 처리를 알아보았다.
나는 간단한 프로젝트라서 처리 코드가 짧지만 프로젝트가 복잡하면 그 부분도 길어지지 않을까?
그래도 전에라면 왜 안되는지 스스로 알기 힘들었을거 같은데 그래도 요새 공부 좀 한다고 스스로 떠올릴 수 있어서 조금 뿌듯했다!ㅋㅋㅋㅋ

오늘도 이렇게 포스팅을 마친다! 👋

0개의 댓글