일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Protocol
- 리팩토링
- rxswift
- Observable
- ios
- UITextView
- tableView
- collectionview
- 스위프트
- Clean Code
- clean architecture
- 리펙터링
- 리펙토링
- swiftUI
- combine
- Xcode
- HIG
- map
- Human interface guide
- swift documentation
- uiscrollview
- MVVM
- UICollectionView
- 애니메이션
- RxCocoa
- 클린 코드
- uitableview
- SWIFT
- ribs
- Refactoring
- Today
- Total
목록WKWebView (9)
김종권의 iOS 앱 개발 알아가기
설정 실물 디바이스를 사용할 때, 맥북 사파리에서 디바이스의 웹뷰에 접근할 수 있는 권한 허용 디바이스 > 설정 > Safari > 고급 > 웹 속성 On 맥북에서 Safari 개발자 모드 보이게끔 활성화 Safari 메뉴 > `메뉴 막대에서 개발자용 메뉴 보기` 체크 테스트 * 테스트에 사용할 프로젝트는 이전에 알아본, 웹뷰와 자바스크립트 통신 포스팅 글에서 사용한 프로젝트 앱을 실행하여 웹뷰를 띄우고, Safari 메뉴 중 개발자용 > 해당되는 기기 > 웹뷰 클릭 (about:black나 웹뷰 이름이 따로 존재) (시뮬레이터나 디바이스로 테스트해도 무방하며, 테스트에는 시뮬레이터를 사용) 콘솔에서 네이티브로 message를 보내는 테스트도 가능 아래 메시지를 입력하고 엔터를 치면, Xcode에서 메시..
편의를 위해 사용한 프레임워크 pod 'RxSwift' pod 'RxCocoa' pod 'RxWebKit' pod 'SnapKit' RxWebKit WKWebView를 Observable로 wrapping한 클래스이므로, 보통 webView를 사용할 때 delegate를 사용하지만 RxWebKit을 사용하면 rx로 바인딩하고 처리하면 되므로 매우 편리 WKWebView에서 대표적인 비동기 처리 부분 (rx로 처리하면 편리) url 웹뷰 load가 성공했는지 이벤트를 받는 경우 messageHandler와 같이 javascript가 native로 메시지를 던져주는 경우 사전지식 MessageHanlder) messageHandler란 javascript에서 native로 이벤트를 보내고 싶은 경우, jav..
1. WKWebView - UIToolBar 사용하여 뒤로가기, 앞으로가기 구현 (goBack(), goForward()) 2. WKWebView - Header 설정, Cookie 설정, access token 전달, deeplink 수신 방법 3. WKWebView - 양방향 통신, WKUserScript, WKScriptMessageHandler 델리게이트를 구현하여 JavaScript interface 사용 방법 Swift -> JavaScript WKUserScript 사용 webView에서 웹페이지로 script를 주입시킬때 사용하는 script WKUserContentController() 인스턴스에 WKUserScript 값을 추가하고, WKUserContentController인스턴스를 ..
* WKWebView 기초 개념은 이곳 먼저 참고: https://ios-development.tistory.com/700 1. WKWebView - UIToolBar 사용하여 뒤로가기, 앞으로가기 구현 (goBack(), goForward()) 2. WKWebView - Header 설정, Cookie 설정, access token 전달, deeplink 수신 방법 3. WKWebView - 양방향 통신, WKUserScript, WKScriptMessageHandler 델리게이트를 구현하여 JavaScript interface 사용 방법 Header 주입 방법 WebViewController에 header 프로퍼티 정의 private var headers: [String: String] { let b..
* WKWebView 기초 개념은 이곳 먼저 참고: https://ios-development.tistory.com/700 1. WKWebView - UIToolBar 사용하여 뒤로가기, 앞으로가기 구현 (goBack(), goForward()) 2. WKWebView - cookie 설정, access token 송신, deeplink 수신 방법 3. WKWebView - 양방향 통신, WKUserScript, WKScriptMessageHandler 델리게이트를 구현하여 JavaScript interface 사용 방법 설계 UIViewController를 상속한 BaseViewController를 생성하고, 여기서 ToolBar에 들어갈 뒤로가기, 앞으로가기 UIBarButtonItem 인스턴스 생성..
1. WKWebView 개념1 (UIWebView, AJAX, XHR, 캐시, 쿠키) 2. WKWebView 사용 방법 (웹뷰, 쿠키, WKScriptMessageHandler, WKNavigationDelegate, WKUIDelegate) WKWebView를 사용하기 전 알아야할 기본 개념 URL vs URI 개념 참고 WKWebView 기본 사용 방법 webView초기화: 가끔 viewDidLoad()에서 view를 초기화하여 사용하지만, webView같은 경우 viewDidLoad에서 초기화하지 않고 viewController 블록 내에서 바로 초기화하여 사용하는게 효율적 import WebKit let webView = WKWebView() loadView()를 override하여 webView..
1. WKWebView 개념 (UIWebView, AJAX, XHR, 캐시, 쿠키) 2. WKWebView 사용 방법 (쿠키, WKScriptMessageHandler, WKNavigationDelegate, WKUIDelegate) WKWebView가 나온 배경 iOS 8 아래 버전에서는 UIWebView를 사용했지만 deprecated되었고 WKWebView를 사용하게끔 애플에서 정의 UIWebView는 iOS 2부터 도입, WKWebView는 iOS 8부터 도입 WKWebView가 개발된 이유는 HTML의 컨텐츠를 표출하기 위해서 탄생 WKWebView와 UIWebView의 차이점 UIWebView WKWebView 프레임워크 의존성 UIKit프레임워크의 일부 WebKit이라는 프레임워크의 일부 웹..
Javascript의 인터렉션 -> iOS에서 받는 방법 javacript에서 특정 이벤트가 발생한 경우 메세지를 iOS에 넘기는 방식 iOS에서 메세지를 파싱하여, 해당 메세지에 관한 이벤트 처리를 하는 방식(뒤로가기, statusBar색상 변경) iOS에서 WKScriptMessageHandler 델리게이트를 구현하여 이벤트를 받는 형태 javasript interface 정의 시그니처 javascript statusBar 색상 변경: changeStatusBarColor webkit.messageHandlers.MyJavacriptInterfaces.postMessage([ action: 'changeStatusBarColor', bgColor: '#FFFFFF' isDarkIcon: true ])..