** 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 과 같은 다른 클래스를 사용하여 서버에게 요청을 보낸다.

 

+ Recent posts