250x250
반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/12   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
Archives
Today
Total
관리 메뉴

수니의 개발새발

[iOS/Swift] 외부 브라우저(사파리)로 링크 열기 본문

iOS - Swift

[iOS/Swift] 외부 브라우저(사파리)로 링크 열기

개발자 수니 2021. 12. 29. 15:58
728x90
반응형

📌  이번 글은

외부 브라우저(사파리)로 링크를 여는 방법입니다.

 

UIApplication.shared.open()

func openExternalLink(urlStr: String, _ handler:(() -> Void)? = nil) {
    guard let url = URL(string: urlStr) else {
        return
    }
    
    if #available(iOS 10.0, *) {
        UIApplication.shared.open(url, options: [:]) { (result) in
            handler?()
        }
        
    } else {
        UIApplication.shared.openURL(url)
        handler?()
    }
}

사파리로 링크를 여는 함수입니다.

👩🏻‍💻 사용 예제

import UIKit

class Utils {

    /**
     # openExternalLink
     - Parameters:
     - urlStr : String 타입 링크
     - handler : Completion Handler
     - Note: 외부 브라우저로 링크 오픈
     */
    static func openExternalLink(urlStr: String, _ handler:(() -> Void)? = nil) {
        guard let url = URL(string: urlStr) else {
            return
        }
        
        if #available(iOS 10.0, *) {
            UIApplication.shared.open(url, options: [:]) { (result) in
                handler?()
            }
            
        } else {
            UIApplication.shared.openURL(url)
            handler?()
        }
    }
}

공통적으로 사용하는 변수 및 함수들을 Utils 라는 공통 클래스를 생성하여 관리하는 예시입니다.

 

Utils.openExternalLink(urlStr: "https://www.google.co.kr/")

필요한 곳 어디서든 생성한 함수를 호출하여 사용합니다.

728x90
반응형
Comments