Computer >> 컴퓨터 >  >> 프로그래밍 >> iOS

iOS 앱에서 기본 브라우저로 웹사이트를 여는 방법 완벽 가이드

이번 포스트에서는 iOS 애플리케이션 내에서 웹 브라우저를 통해 웹사이트를 여는 방법을 알아보겠습니다.

예제로 페이스북(Facebook) 웹사이트를 iOS 기본 브라우저인 사파리(Safari)에서 열어보겠습니다. 생각보다 간단한 코드 몇 줄이면 구현할 수 있습니다.

1단계: Xcode 프로젝트 생성

Xcode를 실행하고 New Project → Single View Application을 선택합니다. 프로젝트 이름은 "OpenBrowser"로 지정하겠습니다.

2단계: 스토리보드에 버튼 추가

Main.storyboard 파일을 열고 아래 이미지와 같이 버튼 하나를 추가합니다. 버튼의 타이틀은 "Open Facebook"으로 설정했습니다.

iOS 앱에서 기본 브라우저로 웹사이트를 여는 방법 완벽 가이드

3단계: IBAction 함수 연결

ViewController에 @IBAction 함수를 하나 생성하고 이름을 openBrowser로 지정한 뒤, 스토리보드의 버튼과 연결해 줍니다.

4단계: URL을 여는 코드 작성

openBrowser 함수 안에 아래와 같이 URL을 여는 코드를 작성합니다.

@IBAction func openBrowser(_ sender: Any) {
    let url = URL(string: "https://www.facebook.com")!
    if UIApplication.shared.canOpenURL(url) {
        UIApplication.shared.open(url, options: [:], completionHandler: nil)
    }
}

코드 설명

위 코드에서 핵심적으로 사용되는 API는 두 가지입니다.

canOpenURL: 해당 URL을 앱에서 열 수 있는지 먼저 확인하는 메서드입니다. 이 검증 단계를 거치면 잘못된 URL이나 열 수 없는 링크로 인한 크래시를 방지할 수 있습니다.

open: canOpenURL 검증을 통과하면 실제로 해당 URL을 적절한 앱(기본 브라우저)으로 실행해 주는 메서드입니다.

5단계: 앱 실행 및 결과 확인

앱을 빌드하고 실행한 뒤 "Open Facebook" 버튼을 클릭해 보세요. 사파리 브라우저가 자동으로 실행되면서 페이스북 페이지가 열리는 것을 확인할 수 있습니다.

iOS 앱에서 기본 브라우저로 웹사이트를 여는 방법 완벽 가이드

이처럼 UIApplication의 canOpenURL과 open 메서드만 활용하면 별도의 웹뷰(WebView) 없이도 외부 브라우저를 통해 손쉽게 웹사이트를 열 수 있습니다. 참고로 iOS 9 이상에서는 Info.plist의 LSApplicationQueriesSchemes 설정이 필요한 경우도 있으니, 특정 앱 스킴을 사용할 때는 이 부분도 함께 확인해 보시기 바랍니다.