이 포스팅에서는 WKWebView
에서 redirect URL
처리에 대해서 알아보겠다.
네트워크 관련 포스팅이 아니라서 가볍게 보고 지나갈 것이다.
궁금하다면 네트워크 관련 포스팅을 보면 될거 같다!
redirect
는 단어 그대로 "다시 지시하다"라는 뜻이다.
위의 사진은 여러 redirect
상황 중 하나이다.
브라우저는 http://A로 접근하려했는데 서버에서 https://A로 가라고 지시를 내렸다.
이처럼 다른 URL을 지시하는 것을 redirect라고 한다.
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 처리를 알아보았다.
나는 간단한 프로젝트라서 처리 코드가 짧지만 프로젝트가 복잡하면 그 부분도 길어지지 않을까?
그래도 전에라면 왜 안되는지 스스로 알기 힘들었을거 같은데 그래도 요새 공부 좀 한다고 스스로 떠올릴 수 있어서 조금 뿌듯했다!ㅋㅋㅋㅋ
오늘도 이렇게 포스팅을 마친다! 👋