일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- swift autolayout
- FlutterView MethodChannel
- 안드로이드 앨범
- 안드로이드 FCM
- 스위프트 푸시
- Swift flutterviewcontroller
- 앱 백그라운드 푸시 데이터 저장
- 스위프트 앨범
- Flutter NativeView
- Flutter UIKitView MethodChannel
- NotificationService Extension
- 안드로이드 숏컷
- flutter 회전
- 스위프트
- 스위프트 UserDefaults
- Swift flutterview
- flutter rotate
- swift sms
- 플러터 뷰 컨트롤러
- 노티피케이션 익스텐션
- 푸시 데이터 저장
- native flutter view
- 안드로이드 바로가기
- silent push
- 안드로이드 에러
- 앱 꺼졌을 때 푸시 데이터 저장
- 스위프트 테이블 뷰 셀
- 스위프트 카메라
- 스위프트 웹뷰
- swift 문자
- Today
- Total
Things take time
[SWIFT] 문자 메시지 보내기 본문
[문자메시지 보내기]
코드는 간단하다.
1. Xcode 상의 import
2. 소스 상의 import, 딜리게이트
3. 코드 작성
[예제]
if MFMessageComposeViewController.canSendText() { let recipients:[String] = ["번호"] let messageController = MFMessageComposeViewController() messageController.messageComposeDelegate = self messageController.recipients = recipients messageController.body = "텍스트" self.present(messageController, animated: true, completion: nil) }
먼저 필요한 개념은 MFMessageComposeViewController라는 것이다. 흔히 문자메시지를 보낼때 나오는 그 뷰 컨트롤러다.
canSendText()로 현재 보낼 수 있는 상황인지 파악하고, 보낼리스트를 문자 배열로한다. 딜리게이트를 잡아주고 바디 부분에 문자 내용을 넣는다.
@available(iOS 4.0, *) public func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult){ controller.dismiss(animated: true, completion: nil) }
딜리게이트로 잡았다면 그 안에 있는 프로토콜 중 messageComposeViewController 이란 함수를 가져다 쓴다. 문자메시지를 보낸 이후에 호출되는 함수인데, 여기서 controller는 MFMessageComposeViewController를 의미한다. 즉, 문자를 보낸 뒤엔 문자를 보내는 뷰 컨트롤러(내장)를 종료시키면 원래 앱으로 되돌아 오는 원리이다.
'iOS (기능)' 카테고리의 다른 글
[SWIFT] 네비게이션 컨트롤러가 있는 뷰 컨트롤러 열기 (0) | 2017.11.10 |
---|---|
[SWIFT] UITextField의 Under Line 추가하기(밑줄) (0) | 2017.11.09 |
[SWIFT] 스크롤할 때, 하단의 탭바 숨기기(보이기) (0) | 2017.10.30 |
[SWIFT] UITbableView Header, 테이블 뷰 헤더 추가 및 고정 해제 방법, 헤더 구분선(Seperator)추가 (0) | 2017.10.27 |
[SWIFT] 오토레이아웃 코드로 (0) | 2017.10.27 |