** Apple 공식 문서를 참고하였습니다.
WKWebView란?
in-app 과 같이 웹 컨텐츠와의 상호작용을 보여주는 객체
- 당신의 앱에 웹 컨텐츠를 추가하기 위해 UKWebView를 사용할 수 있다.
- WKWebView 객체를 만들기 위해서는 웹 컨텐츠 로드를 위한 'request'를 보내야 한다.
- WkWebView 내에'httpBody'컨텐츠를 넣어 'POST' request를 할 수 있다.
-
WKWebView는 iOS 8.0부터 사용할 수 있다.
기존에는 UIWebView를 사용했으나, 성능상의 이유로 deprecate되고 현재는 WKWebView 사용을 권장하고 있다.
- init(frame:configuration:) // 객체 초기화
- loadHTMLString(_:baseURL:) // 로컬 html 파일 로딩을 시작하는 메서드
- load(_:) // 웹 컨텐츠를 로드해 사용하는 메서드
- goBack() // 웹 히스토리를 이용한 뒤로가기
- goForward() // 웹 히스토리를 이용한 앞으로가기
- canGoBack()
- canGoForwatd()
- setMagnification(_:centeredAt:) // 코드로 웹컨텐츠 크기 조절하는 방법
WKWebView 사용 가이드
import UIKit
import WebKit
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView!
override func loadView() {
let webConfiguration = WKWebViewConfiguration()
webView = WKWebView(frame: .zero, configuration: webConfiguration)
webView.uiDelegate = self
view = webView
}
override func viewDidLoad() {
super.viewDidLoad()
let myURL = URL(string:"https://www.apple.com")
let myRequest = URLRequest(url: myURL!)
webView.load(myRequest)
}}
-
WKWebViewConfiguation
-
웹뷰를 초기화하는 복사본 형태 (웹뷰 초기화에 필요)
-
-
URLRequest
-
프로토콜이나 URL Scheme과 독립적인 URL load Request
-
URLRequest는 'load request'의 필수적인 속성 두 가지를 암호화한다.
(URL 과 URL 로드에 사용되는 policy들 // URLRequest는 POST, GET과 같은 HTTP method와 HTTP 헤더를 가지고 있다.)
-
URLSession 과 같은 다른 클래스를 사용하여 서버에게 요청을 보낸다.
-
'iOS > iOS 앱개발' 카테고리의 다른 글
[swift] 웹통신하기 - 4. iOS -> Node.js 데이터 송수신하기 (0) | 2020.03.27 |
---|---|
[swift] 웹통신하기 - 3. 간단 예제 : Navtive 버튼을 클릭 시 웹뷰 배경색 변경하기 (0) | 2020.03.08 |
[swift] 웹통신하기 - 2. 웹페이지 만들기 (0) | 2020.03.08 |
[swift] 웹통신하기 - 1. node.js를 이용한 간단한 웹서버 구축 (0) | 2019.12.01 |
[swift] 웹통신하기 - 0. 네트워크 기본 지식 (0) | 2019.12.01 |