[ios] 브라우저 뷰어 구현

iOS 앱에서 외부 링크를 보여주고 사용자가 자유롭게 탐색할 수 있는 뷰어를 구현하려면 SFSafariViewController를 사용할 수 있습니다. 이 뷰 컨트롤러는 기본 브라우저와 같은 기능을 제공하며, 사용자가 앱을 떠나지 않고도 외부 웹사이트를 탐색할 수 있습니다.

SFSafariViewController 사용하기

SFSafariViewController를 사용하여 뷰어를 나타내기 위해 먼저, 해당 뷰 컨트롤러를 사용할 수 있는 뷰 컨트롤러 객체를 가지고 있어야 합니다. 예를 들어, 버튼을 누르면 외부 링크를 보여주는 뷰어로 이동할 수 있는 화면을 가지고 있다고 가정해 봅시다.

먼저, SFSafariViewController를 불러오고 사용할 URL을 지정해 줍니다.

import SafariServices

// ...

let url = URL(string: "https://www.example.com")!
let safariViewController = SFSafariViewController(url: url)

그런 다음, 해당 뷰 컨트롤러를 표시할 뷰 컨트롤러를 지정하고, present 메소드를 사용하여 뷰어를 나타냅니다.

// ...

// 현재 뷰 컨트롤러에서 safariViewController를 나타냅니다.
present(safariViewController, animated: true, completion: nil)

커스터마이징

SFSafariViewController는 테마, 바 버튼 아이템, 백그라운드 색상 등을 쉽게 사용자 지정할 수 있는 다양한 기능을 제공합니다. 예를 들어, 아래의 코드를 사용하여 바 버튼 아이템을 추가할 수 있습니다.

// ...

// 아이템을 수동으로 추가
safariViewController.navigationItem.rightBarButtonItem = UIBarButtonItem(barButtonSystemItem: .action, target: self, action: #selector(shareButtonTapped))

원하는 대로 뷰어를 커스터마이징하여 사용자에게 더 나은 경험을 제공할 수 있습니다.

iOS 앱에서 외부 링크를 보여주는 뷰어를 만들기 위해 SFSafariViewController를 사용해 보세요. 사용자가 웹사이트를 탐색할 수 있는 간단하면서도 강력한 방법입니다.