[ios] 메시지에 즉시 사진 찍기 및 전송 기능

iOS 앱을 개발 중인 경우 사용자가 편리하고 빠르게 사진을 찍어 메시지로 전송할 수 있는 기능은 매우 중요합니다. iOS의 메시지 앱에 이러한 기능을 쉽게 추가할 수 있습니다. 이 포스트에서는 iOS 앱에 즉시 사진 찍기 및 전송 기능을 추가하는 방법에 대해 알아보겠습니다.

사진 촬영 및 전송 기능 추가하기

iOS 앱에 즉시 사진을 찍고 메시지로 전송하는 기능을 추가하려면 다음과 같은 단계를 따릅니다.

1. UIImagePickerController를 사용하여 사진 촬영 기능 구현하기

import UIKit

class ViewController: UIViewController, UIImagePickerControllerDelegate, UINavigationControllerDelegate {
    
    let imagePickerController = UIImagePickerController()

    override func viewDidLoad() {
        super.viewDidLoad()
        imagePickerController.delegate = self
        imagePickerController.sourceType = .camera
    }
    
    @IBAction func takePhotoButtonTapped(_ sender: UIButton) {
        present(imagePickerController, animated: true, completion: nil)
    }

    func imagePickerController(_ picker: UIImagePickerController, didFinishPickingMediaWithInfo info: [UIImagePickerController.InfoKey : Any]) {
        if let selectedImage = info[.originalImage] as? UIImage {
            // Handle the captured image
        }
        dismiss(animated: true, completion: nil)
    }
}

2. 메시지로 사진 전송하기

찍은 사진을 메시지로 전송하려면 MFMessageComposeViewController를 사용합니다.

import MessageUI

class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {

    @IBAction func sendPhotoButtonTapped(_ sender: UIButton) {
        if MFMessageComposeViewController.canSendText() {
            let messageComposeVC = MFMessageComposeViewController()
            messageComposeVC.messageComposeDelegate = self
            if let image = selectedImage {
                let imageData = image.jpegData(compressionQuality: 1.0)
                messageComposeVC.addAttachmentData(imageData!, typeIdentifier: "public.data", filename: "photo.jpg")
            }
            present(messageComposeVC, animated: true, completion: nil)
        }
    }

    func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) {
        // Handle the result after sending the photo message
        controller.dismiss(animated: true, completion: nil)
    }
}

위의 단계를 따라 iOS 앱에 즉시 사진 촬영 및 전송 기능을 추가할 수 있습니다.

결론

위에서 설명한 방법을 사용하여 iOS 앱에 메시지로 사진을 촬영하고 전송하는 기능을 추가할 수 있습니다. 사용자는 앱 내에서 손쉽게 사진을 찍고 메시지로 전송할 수 있어서 편리하게 이용할 수 있습니다.


참고 자료: