2012년 6월 17일 일요일

Android 4.0.3 ICS Ice Cream sandwich / iOS 5 에서 WebView 를 사용할 때 주의할 점

잘돌던 앱이 갤럭시S2에서 갑자기 안돈다고 한다.
뭔가 해서 봤더니 shouldOverrideUrlLoading 이 제대로 작동하지 않는 것을 발견.
콘솔로 찍어보니까 통신용 커스텀 프로토콜 이름을 nativeCall://doSomething 과 같이 카멜노테이션 식으로 대소문자를 혼용했는데 이것이 실제로 해당 method 안에선 url 이 소문자로 들어가서 생기는 현상이었음.

결론: shouldOverrideUrlLoading 을 사용할땐 소문자만 쓰자.

추가: iOS 5.0 에서도 동일한 현상이 있다는 제보가 있습니다 :)