출처
- 까칠하게... :: iOS WebView 서버 로그 보려면 - 까칠코더. - 티스토리
- 하이브리드 앱 개발을 할 때 UIWebView 에서 JavaScript 디버깅하기
- iOS UIWebView의 Javascript console.log () | CODE Q&A [한국어]
- Javascript console log in UIWebView in Swift - Stack Overflow
- Catching print statement from JavaScript in Swift using JSContext
- API 호출시 UI 멈춤 해결 :: 코드밍
Code
func initWebView(activityIndicator: UIActivityIndicatorView) { // 생략... contentController.add(self, name: "native_console_log") // 생략... } func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) { if(message.name == "native_console_log") { native_console_log(didReceive: message) } } func native_console_log(didReceive message: WKScriptMessage) { print(NSString(string: "console.log: \(message.body)")) } func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) { #if CONSOLE_LOG let js = "var console = { log: function(message) { webkit.messageHandlers.native_console_log.postMessage(JSON.stringify(message)) } }" webView.evaluateJavaScript(js) #endif }
빌드 옵션 추가