Things take time

[SWIFT] 문자 메시지 보내기 본문

iOS (기능)

[SWIFT] 문자 메시지 보내기

겸손할 겸 2017. 11. 2. 11:06

[문자메시지 보내기]


코드는 간단하다.


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를 의미한다. 즉, 문자를 보낸 뒤엔 문자를 보내는 뷰 컨트롤러(내장)를 종료시키면 원래 앱으로 되돌아 오는 원리이다.