[swift] Swift DeviceKit을 사용하여 디바이스의 웹 브라우저 실행 방법

이 문서에서는 Swift DevicKit을 사용하여 iOS 디바이스에서 웹 브라우저를 실행하는 방법을 알아보겠습니다. Swift DeviceKit은 Swift로 작성된 iOS/macOS/tvOS/watchOS 디바이스에 대한 하드웨어 및 소프트웨어 정보를 제공하는 라이브러리입니다.

Swift DeviceKit 설치하기

Swift DeviceKit은 Swift Package Manager를 통해 설치할 수 있습니다. 프로젝트의 Package.swift 파일에 다음 내용을 추가하세요:

dependencies: [
    .package(url: "https://github.com/devicekit/DeviceKit.git", from: "4.2.0")
]

그리고 프로젝트 루트 디렉토리에서 다음 명령어를 실행하여 의존성을 설치하세요:

swift package resolve

디바이스 웹 브라우저 실행하기

다음은 Swift DeviceKit을 사용하여 디바이스의 웹 브라우저를 실행하는 예제 코드입니다:

import DeviceKit
import UIKit

func openWebBrowser(url: URL) {
    if let device = Device.current {
        if device.isSimulator {
            // 시뮬레이터에서는 Safari 브라우저를 실행합니다.
            UIApplication.shared.open(url)
        } else if device.isPhone {
            // iPhone에서는 기본 브라우저인 Safari를 실행합니다.
            UIApplication.shared.open(url)
        } else if device.isPad {
            // iPad에서는 Safari가 아닌 기본 브라우저인 Safari View Controller를 실행합니다.
            let safariViewController = SFSafariViewController(url: url)
            UIApplication.shared.windows.first?.rootViewController?.present(safariViewController, animated: true, completion: nil)
        }
    }
}

위의 코드는 openWebBrowser 함수를 정의하고, 현재 디바이스의 종류를 확인한 후 각 디바이스에 따라 다른 방식으로 웹 브라우저를 실행합니다. 시뮬레이터에서는 기본 Safari를 실행하고, iPhone에서는 기본 브라우저인 Safari를 실행하며, iPad에서는 Safari View Controller를 실행합니다.

사용 예시:

let url = URL(string: "https://www.google.com")!
openWebBrowser(url: url)

위의 코드는 Google 홈페이지를 웹 브라우저에서 엽니다.

참고 자료