안녕하세요! 오늘은 아이폰에서 URL을 여는 방법을 알아볼게요.
앱에서 아이폰 기본 메일앱으로 이동하거나 외부 링크로 연결되거나 하는 경우가 있는데요,
매우 간단한 방법으로 구현할 수 있습니다.
저는 이렇게 아래 코드와 같이 url을 스트링으로 받는 함수를 만들어서 사용했어요. 그냥 원하는 url을 넣어서 호출하시면 됩니닷! ㅎ.ㅎ
아래에 #available은 실행되는 기기의 iOS 버전에 따라 다르게 실행할 수 있도록 분기처리 해준 것입니다.
func openURL(urlString: String){
if let url = URL(string: "\(urlString)"){
if #available(iOS 10.0, *){
UIApplication.shared.open(url)
}
else{
UIApplication.shared.openURL(url)
}
}
}
일반 웹 URL은 그냥 주소를 넣어주면 되고, 이메일의 경우는 정해진 형식이 있는데요.
func createEmailUrl(to: String, subject: String, body: String) -> String {
let subjectEncoded = subject.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!
let bodyEncoded = body.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)!
let defaultUrl = "mailto:\(to)?subject=\(subjectEncoded)&body=\(bodyEncoded)"
return defaultUrl
}
이렇게 형식만 맞춰주시면 보내려는 메일 주소, 제목, 본문까지 채워서 메일앱을 열 수 있어요.
이 외에도 openURL을 이용해서 앱 간의 이동을 구현할 수도 있어요! 예를 들면 앱 안에서 어떤 버튼을 누르면 설정으로 이동하는 것 같은게 있겠죠??
처음엔 어려울 줄 알았던 기능인데 찾아보니 아주 쉬웠습니다.
감사합니다.
'iOS' 카테고리의 다른 글
[iOS] UIPanGestureRecognizer 알아보기 (드로어 구조 만들기) (2) | 2021.03.07 |
---|---|
[iOS] Date 구조체를 이용해 캘린더 만들기 - 1 (extension 이용하기) (0) | 2021.02.14 |
[iOS] NotificationCenter 사용법 (0) | 2021.02.07 |