Programming/Mac & iOS

[iOS] SFSafariViewContoller 구현 및 활용

MB Brad KWON 2015. 11. 28. 16:50

SFSafariViewController


SFSafariViewController는 iOS9부터 지원한다. 기존의 UIWebView와 달리 브라우징 화면만 존재하는 것이 아니라, 기본 인터페이스(읽기 도구, Full Browsing, Content Blocking 등)가 포함된다. 그리고 번들앱인 Safari와 cookie와 웹 사이트 데이터 등을 공유한다. 앱에서 SFSafariViewController와 사용자 사이의 데이터(히스토리, 웹사이트 데이터 등)를 가로챌 수 없다. SFSafariViewController는 아래와 같은 UI적 특징을 가진다.


- '읽기 도구' 버튼을 제공

- 공유나 커스텀 서비스 이용에 필요한 액션 버튼을 제공

- Back/Forward 버튼을 제공하며, 현재 페이지를 Safari에서 열수 있는 버튼도 제공

- 3D Touch가 지원되는 기기에서 웹사이트 데이터를 자동으로 분석하여 Pick/Pop 기능을 제공




SFSafariViewControllerDelegate


SFSafariViewController의 생명주기에 관한 주요 이벤트에 대한 Delegation을 구현 가능하다. 주요 이벤트는 아래와 같다.


- Initial  load가 완료되었을 때

- UIActivityViewController에 포함한 특정 Application service를 선택했을 때

- SFSafariViewController가 완료되어 View에서 사라질 때