스닥
Playground
스닥
전체 방문자
오늘
어제
  • 분류 전체보기 (125)
    • 개발자 기본기 (1)
    • Swift 아키텍처 (6)
    • iOS 개발 (55)
      • Swift (12)
      • UIKit (17)
      • SwiftUI (9)
      • CoreData (9)
      • MusicKit (4)
      • WebKit (2)
      • 개발 환경 (0)
      • WatchOS (2)
    • 애플 개발자 아카데미 (4)
    • 막 쓰는 개발일지 (0)
    • 운영체제 (4)
    • 네트워크, 서버 (16)
      • Network (9)
      • Server (7)
    • 알고리즘 (8)
    • C언어 (7)
      • 함수 (7)
    • 하루 이야기 (23)

블로그 메뉴

  • GitHub계정
  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 도커
  • 자료구조
  • 알고리즘
  • BFS
  • struct class 성능
  • dfs
  • swift performance
  • ip주소
  • ios rendering
  • SWIFT
  • 문자열 복사
  • 깊이 우선
  • 서버
  • core data
  • 트리
  • 너비 우선
  • C 언어
  • Core Animation
  • docker
  • Server

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
스닥

Playground

[Swift] 앱 안에서 메일 보내기
iOS 개발/UIKit

[Swift] 앱 안에서 메일 보내기

2021. 11. 20. 01:32

 

 

 

앱 안에서 메일을 보내는 방법은 다음과 같아요!!

 

 

canSendMail을 통해, 메일을 보낼 수 있는 상태인지를 확인합니다.

 

만약에!! Mail 앱이 안깔려있거나 하면 메일을 못보내겠죠?? 그럼 canSendMail이 False로 들어가서 메일 전송 실패를 내뱉습니다.

 

 

MFMailComposeViewController 은 이미 그 자체로 메일을 보내는 틀을 완성해 놓고 있어서,

 

 

우리는 메일 보낼 주소, 제목, 내용 정도만 미리 적어놓고,

 

 

func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?)

 

이 함수를 통해 메일 보내는걸 성공하고 나면 뭘 할건지!! 만 봐주면 됩니다ㅎㅎ

 

 

전체 코드는 다음과 같아요!

if MFMailComposeViewController.canSendMail() {
	let compseVC = MFMailComposeViewController()
    compseVC.mailComposeDelegate = self
    compseVC.setToRecipients(["hasensprung42@gmail.com"])
    compseVC.setSubject("[Canvas] ")
    compseVC.setMessageBody("", isHTML: false)
    self.present(compseVC, animated: true, completion: nil)
} else {
	self.showSendMailErrorAlert()
}


func mailComposeController(_ controller: MFMailComposeViewController, didFinishWith result: MFMailComposeResult, error: Error?) {
	controller.dismiss(animated: true, completion: nil)
}
    
func showSendMailErrorAlert() {
	let sendMailErrorAlert = UIAlertController(title: "메일을 전송 실패", message: "mail앱을 확인하고 다시 시도해주세요.", preferredStyle: .alert)
    let confirmAction = UIAlertAction(title: "확인", style: .default) {
    	(action) in
	}    
	sendMailErrorAlert.addAction(confirmAction)
	self.present(sendMailErrorAlert, animated: true, completion: nil)
}

 

'iOS 개발 > UIKit' 카테고리의 다른 글

[UITableView] SwipeAction - cell 삭제 (확인 Alert와 함께)  (0) 2021.11.29
[UITextView] 줄 수, 글자 수 제한  (0) 2021.11.22
[UIView] 정말 예쁜 blur Effect  (0) 2021.11.21
[Swift] App 첫 로딩을 감지하는 법 (first loading detection)  (0) 2021.11.20
[GestureRecognizer] Gesture 잘 사용하기 - 동시에 여러 gesture 사용하기, 주의점  (0) 2021.11.17
[UICollectionView] View를 하나씩 넘기기, 여러개씩 넘기기  (0) 2021.11.17
[UIImageView] image 색 변경하기  (0) 2021.11.09
[UITableVIew] automaticDimension 이 되지 않을때  (0) 2021.10.18
    스닥
    스닥
    https://github.com/feldblume5263

    티스토리툴바