[Objective-C] ‘NSInternalInconsistencyException’, reason: ‘Completion handler passed to -[webView:decidePolicyForNavigationAction:decisionHandler:] was called more than once’ 문제

EmilY
2 min readJul 17, 2019

--

안녕하세요 에밀리입니다

UIWebView를 WKWebView로 바꾸는 작업을 하다가

오류가 생겼습니다

내용은 아래와 같았습니다

'NSInternalInconsistencyException', reason: 'Completion handler passed to -[ViewController webView:decidePolicyForNavigationAction:decisionHandler:] was called more than once'

원인은 decidePolicyForNavigationAction을 호출할 때

decisionHandler가 여러번 불린 탓이었습니다

AppleDocs에는 자세히 나와있지 않지만 decisionHandler를 한번만 불러줘야 하나봅니다

따라서 해결 방법은

이런 식으로 decisionHandler()를 호출해준 곳에는 반드시 아래 return;을 붙여줬습니다

더이상 호출이 안되도록 말이죠

이상입니다

참조 : https://stackoverflow.com/questions/37307430/nsinternalinconsistencyexception-webviewdecidepolicyfornavigationactiondecisi

--

--

EmilY
EmilY

Written by EmilY

iOS 하나부터 열까지 이해하기

No responses yet