iOS 앱에서 웹을 표시하는 경우, 또는 웹뷰 앱을 만드는 경우 WKWebView를 통해 구현합니다.
iOS와 웹뷰간의 소통은 브릿지, javaScript 실행, scheme 수신 등으로 동작되며
웹뷰 로드, 새로고침, cookie 설정, post body 등을 설정할 수 있습니다.
웹뷰를 사용하기 위해 핵심적인 클래스이므로 좀 더 명확하게 분석해보고자 합니다.
https://developer.apple.com/documentation/webkit/wkwebview
import UIKit
import WebKit // WKWebView를 사용하기 위한 프레임워크
class ViewController: UIViewController, WKUIDelegate {
var webView: WKWebView! // 웹뷰가 표시되는 객체
override func loadView() {
let webConfiguration = WKWebViewConfiguration() // configuration으로 기본 설정 정의
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!) // 웹뷰 로드를 위한 URLRequest 생성
webView.load(myRequest) // load 를 통해 웹뷰 로드, 표시
}
}
https://developer.apple.com/documentation/webkit/wkwebviewconfiguration
https://developer.apple.com/documentation/foundation/urlrequest
https://developer.apple.com/documentation/webkit/wknavigationdelegate
https://developer.apple.com/documentation/webkit/wkuidelegate