Programming/iOS

[iOS] UIWebview (웹뷰) iOS9 이상 ATS 대응하는 방법

lhh3520 2015. 11. 27. 15:22

iOS 가 9로 업그레이드 되면서

추가 된게 ATS 인데요..


일단은 임시 방편으로 설정을

하는 방법을 포스팅 했었습니다.


[ 참조 ]

http://lhh3520.tistory.com/308


게임을 만들다 보면

이용약관 같은거 만들때

웹뷰를 많이 사용하실 텐데요..


다른 네트워크 연결들은

SSL 인증서를 넣고 통신하면

되지만.. 웹뷰에서는 딱히 방법을

못 찾았습니다.


그래서 이런 문제를 해결하기 위한

방법에 대한 포스팅 입니다.



plist 에 예외 도메인을

추가 하고

NSURLConnection

이란걸 사용하면 됩니다.


[ 참조 ]

https://developer.apple.com/videos/play/wwdc2015-711/


일단

Info.plist 로 가서

Exception Domains

항목을 추가 합니다.



그다음 예외로 사용할

도메인 주소를 추가 합니다.



그다음 소스로 돌아와서

웹뷰를 만들어 줍니다.


먼저 헤더 입니다.

NSURLConnectionDelegate

를 상속 받도록 해줍니다.




그다음은 소스 입니다.


접속할 URL 을 가지고

아래처럼 구현해 줍니다.




그다음 아까 상속 받았던 곳에서

델리게이트를 아래와 같이

구현해 줍니다.



_resultData 는

NSMutableData 를

사용하시면 됩니다.


이렇게 해서 웹뷰를 띄워보면

아래처럼 제대로 접속 하는걸

볼 수 있습니다.



이상 UIWebView의

iOS9 ATS 대응하는 방법

이었습니다.