iOS

mailto scheme과 기본 메일 앱 설정

Phililip
728x90

안녕하세요.

 

이번에는 mailto scheme으로 아이폰 Mail 앱이 아닌 타사 Mail 앱을 여는 방법에 대해 알아볼게요.

 

 


 

기존의 MFMailComposeViewController를 사용하면 iPhone 기본 앱인 Mail 앱을 열고 메일을 작성할 수 있었어요.

 

근데 문제가 하나 있는게..

 

 

"나는 Mail 앱 대신 Gmail을 위주로 사용해서 Mail 앱에 로그인이 안되어 있어ㅠㅠ"

 

하는 경우도 있었겠죠??

 

 

예전 같은 경우에는 Mail 앱에 로그인이 되어 있지 않을 경우에는 MFMailComposeViewController에서 에러가 발생했어요ㅠㅠ

 

또한 Gmail, Outlook 같은 타사 앱을 사용할 수도 없었죠..

 

 

그런데 iOS 14부턴 이러한 문제가 해결되었답니다!!

 

iOS 14부터는 기본 메일 앱을 선택할 수가 있고, mailto scheme으로 기본 메일 앱을 실행시켜주는 것이죠!! 😁

 

 

 

직접 확인해볼까요??

 

기본 메일 앱 설정은 Mail 앱이나 타사 메일 앱에 들어가면 기본 메일 앱 탭에서 선택할 수 있어요.

 

 

 

 

그다음엔 버튼에 mailto scheme을 등록하고, openURL을 해볼게요ㅎㅎ

 

let address = "you@emailprovider.com"
let subject = "AwesomeApp Feedback"

// Example email body with useful info for bug reports
let body = "body"

// Build the URL from its components
var components = URLComponents()
components.scheme = "mailto"
components.path = address
components.queryItems = [
      URLQueryItem(name: "subject", value: subject),
      URLQueryItem(name: "body", value: body)
]

guard let url = components.url else {
    NSLog("Failed to create mailto URL")
    return
}

UIApplication.shared.open(url) { success in
  // handle success or failure
}

 

기본 메일 앱 = Mail 기본 메일 앱 = Gmail

 

👍 👍 👍

 

 

## 참고

- https://developer.apple.com/documentation/xcode/preparing-your-app-to-be-the-default-browser-or-email-client

 

Apple Developer Documentation

 

developer.apple.com

 


 

이번 글은 여기서 마무리.

 

 

 

 

반응형

'iOS' 카테고리의 다른 글

Notification에 Action 버튼 추가하기  (0) 2022.04.05
[오픈소스] Bagbutik  (0) 2022.03.28
TabulaData framework  (0) 2022.03.09
[오픈소스] CustomDump 소개  (0) 2022.02.24
Swift Package 의존성 추가, 생성, 배포 방법  (0) 2022.02.24