티스토리 뷰
내 시간 돌려줘...
결론은! 이렇게 해야 할 경우가 생기면, 이동하는지 여부를
func webView(_ webView: WKWebView, decidePolicyFor navigationAction: WKNavigationAction, decisionHandler: @escaping (WKNavigationActionPolicy) -> Void) {
함수를 통해서 미리 받아오고, Response는 다시 Alamofire로 api call을 보내서 JSON형태로 리스폰스를 받아오는게 훨씬 편하다는 것이었다.
만약 꼭! HTML에서 긁어오고 싶다면 'SwiftSoup' 라이브러리를 쓰면 된다.
https://github.com/scinfu/SwiftSoup
webView.evaluateJavaScript("document.documentElement.innerHTML", completionHandler: { res, error in
if let fingerprint = res {
do {
let text = fingerprint as! String
let doc: Document = try SwiftSoup.parse(text)
let decoder = JSONDecoder()
let response = try! decoder.decode(SendKakaoResponse.self, from: Data((try! doc.text()).utf8))
} catch let Exception.Error(type, message) {
print(message)
} catch {
print("error")
}
}
})
이렇게 해서 받아오면 된다. 고생했다 나자신...
'macOS, iOS' 카테고리의 다른 글
[Swift] string에 character, 다른 문자열 포함되었는지 보기 (0) | 2020.03.11 |
---|---|
[Swift] String을 Data로 바꾸는 방법 (0) | 2020.03.08 |
[iOS] 카카오 브릿지 헤더 (0) | 2020.03.06 |
[iOS] 대체 어디서 콜 되는지 모르겠다면... (0) | 2020.03.06 |
[iOS] 파일명을 바꿀 때 Build input file cannot be found가 뜬다면... (0) | 2020.02.20 |