본문 바로가기

네이티브/Ios10

Ios webview에서 javascript를 통해 ios 기능 호출하기 ℡ WKWebView와 UiWebView의 차이점 원래 UiWebView가 존재하였지만 ios8에서 WKWebView가 등장하였습니다. 이 과정에서 UiWebView는 deprecated 되었습니다. WKWebView는 UiWebView 보다 성능이 좋고 효율적으로 동작합니다. WKWebView는 javascript를 비동기 적으로 처리합니다. Javascript와 네이티브 코드 간의 통신은 비동기 적으로 처리되고 일반적으로 더 빠르게 실행이 됩니다. 하지만 WKWebView에서는 쿠키를 직접 관리해야 합니다. 쿠키 설정이 필요해서 쿠키를 설정하는 스크립트를 시작시에 실행시켜 주어서 원했던 동작을 구현했던 경험이 있습니다. (이 부분은 좀 더 develop 예정입니다.) Ios의 Webview를 이용할때 w.. 2022. 4. 20.
Ios splash image 띄우기 (Renewal) 앱이 시작될때 스플래시 이미지를 노출시킬수 있습니다. 스플래시 이미지를 사용하는 이유는 다양할 것입니다. 1. 앱이 켜지자 마자 스플래시 이미지가 노출되므로 반응이 빠르다라는 느낌을 줄수도 있고(앱의 반응성) 2. 스플래시 이미지를 노출시켜주는 동안 앱에 필요한 데이터를 불러올 수도 있습니다. 3. 앱의 간략한 정보를 제공하려도 사용할 수 있을 것입니다. 이러한 스플래시 이미지는 어떻게 노출시켜줄 수 있을까요? 앱을 웹뷰로 만든다면 웹에서 이미지를 전체화면으로 노출시켜줄수 있을것이고 네이티브의 기능을 이용하여 띄어줄수도 있을것입니다. 저는 좀 더 빠른 반응을 위하여 네이티브의 기능을 이용하는것을 선호합니다. 아래는 ios에서 splash image를 노출시켜주는 방법에 관한 내용입니다. 1. 필요한 이미.. 2022. 3. 1.
Ios 웹뷰 alert, confirm 띄우기 웹뷰에서 javascript로 된 alert와 confirm을 띄우려면 코드를 추가해주어야 합니다. alert와 confirm의 경우 각각 webview에 정의되어 있는 인스턴스 메소드들을 선언해주어야 합니다. viewController 내부에 선언해주면 됩니다. UIAlertController에서 preferredStyle을 커스텀 해줄수 있습니다. .alert와 .actionSheet 두개의 형식이 있습니다. 원하는 형식을 선택해서 보여주고 싶은 형식을 보여주면 됩니다! alert func webView(_ webView: WKWebView, runJavaScriptAlertPanelWithMessage message: String, initiatedByFrame frame: WKFrameInfo, .. 2022. 1. 23.
Ios 웹뷰 쿠키 native에서 세팅 ios의 웹뷰에서 쿠키를 세팅해주고 싶었습니다. ios에서는 안드로이드 같이 cookie만 관리해주는 도구를 찾지 못했습니다. 그래서 찾은 방법은 웹뷰가 실행될때 js script를 실행시켜주자 였습니다. 브라우저에서 setCookie(key, value)를 통해 특정 도메인에 원하는 쿠키 값을 세팅해줄수 있습니다. 이걸 웹뷰가 실행될때 실행시켜주자는 생각이였습니다. var webView: WKWebView! override func viewDidLoad() { ~~~~~ let config = WKWebViewConfiguration() let atDocumentStartScript = WKUserScript(source: "alert('start')", injectionTime: .atDocument.. 2022. 1. 22.
Ios 웹뷰 디버깅 웹뷰 개발시 디버깅은 필수 입니다. 이 방법을 모를때는 일일히 alert로 데이터를 출력했던 기억이 나네요.... 디버깅 방법은 엄청 간단합니다 1. xcode에서 개발중인 앱을 휴대폰에 연결후 실행시켜줍니다. 2. safari를 mac에서 실행시켜줍니다 3. develop > 핸드폰 이름 > ip를 선택해줍니다. (safari에서 안뜨면 Safari Technology Preview.app 에서 출력되는 경우도 있습니다.) 4. 웹 inspector가 등장한 모습을 볼 수 있습니다. 이제 에러 로그를 볼수 있고 자바스크립트 실행도 가능합니다! 출처: https://d0gf00t.tistory.com/41 2022. 1. 19.
Ios Apple Native Login TL;DR: 웹뷰의 애플 로그인만 네이티브 로그인으로 구현합니다. 14.5.1 이상 버전에서는 apple sign in with js가 동작하지 않습니다. safari의 이슈 때문에 안되는것으로 추측합니다. 적용해주시고 예외상황이 발생한다면 말씀해주세요 안드로이드는 애플로그인 apple sign in with js로 잘 됩니다. ios쪽 부분만 네이티브로 변경합니다. apple login은 ios 13.0 이상에서만 가능합니다. 문제 원인 파악 apple sign in with js 에서는 로그인 시도시 'https://appleid.apple.com/auth/authorize?client_id=[service_url]&redirect_uri[service_url]Fapple_redirect&respon.. 2021. 12. 5.