Swift (iOS/macOS) पर SMS भेजना: MessageUI लाइब्रेरी API

शुरुआती लोगों के लिए ऑनलाइन Python प्रशिक्षक

Python आसानी से सीखें बिना सिद्धांत के बोझ के। स्वचालित जांच के साथ व्यावहारिक कार्य हल करें और ब्राउज़र में सीधे कोड लिखें।

पाठ्यक्रम शुरू करें

Swift (iOS/macOS) पर SMS भेजना: MessageUI लाइब्रेरी API



आधुनिक मोबाइल डेवलपमेंट में, ऐप से सीधे SMS भेजने की क्षमता एक महत्वपूर्ण सुविधा बनी हुई है। Apple प्लेटफ़ॉर्म (iOS और macOS) पर, यह कार्य अंतर्निहित लाइब्रेरी MessageUI.framework द्वारा हल किया जाता है। यह तृतीय-पक्ष सेवाओं को कनेक्ट करने की आवश्यकता के बिना टेक्स्ट संदेश बनाने और भेजने के लिए एक सुविधाजनक इंटरफ़ेस प्रदान करता है। इस लेख में, हम विस्तार से समझेंगे कि Swift पर SMS भेजने के लिए MessageUI API का उपयोग कैसे करें, कोड उदाहरण, त्रुटि प्रबंधन और विभिन्न उपकरणों पर काम करने की विशेषताओं पर विचार करेंगे।



MessageUI.framework क्या है?

MessageUI एक Apple सिस्टम फ्रेमवर्क है जो ऐप्स को अंतर्निहित "संदेश" ऐप के साथ एकीकृत करने की अनुमति देता है। SMS के साथ काम करने के लिए मुख्य क्लास MFMessageComposeViewController है। यह संदेश लिखने और भेजने के लिए एक तैयार UI-कंट्रोलर प्रदान करता है। यह ध्यान रखना महत्वपूर्ण है कि यह API केवल सक्रिय SIM कार्ड वाले वास्तविक उपकरणों (iOS के लिए) या कॉन्फ़िगर किए गए iMessage वाले Mac (macOS 10.15+) पर काम करता है। सिम्युलेटर पर यह कार्यक्षमता उपलब्ध नहीं है।



प्रोजेक्ट तैयार करना

MessageUI का उपयोग करने के लिए, आवश्यक है:

  • प्रोजेक्ट में MessageUI फ्रेमवर्क को जोड़ें (यह आमतौर पर मानक लाइब्रेरी में पहले से मौजूद होता है)।
  • जहाँ भेजना कॉल किया जाएगा, उस फ़ाइल में इम्पोर्ट जोड़ें: import MessageUI।
  • सुनिश्चित करें कि डिवाइस SMS भेज सकता है - MFMessageComposeViewController.canSendText() के माध्यम से जाँच करें।


SMS भेजने का मूल उदाहरण

सबसे सरल उदाहरण पर विचार करें: कंट्रोलर बनाना, प्राप्तकर्ता और टेक्स्ट सेट करना, फिर उसे प्रदर्शित करना।



import UIKitimport MessageUI

class ViewController: UIViewController, MFMessageComposeViewControllerDelegate {

@IBAction func sendSMSTapped(_ sender: UIButton) { // जाँचें कि क्या डिवाइस SMS भेज सकता है guard MFMessageComposeViewController.canSendText() else { print("डिवाइस SMS भेजने का समर्थन नहीं करता") return }

// कंट्रोलर का इंस्टेंस बनाएँ let messageVC = MFMessageComposeViewController() messageVC.messageComposeDelegate = self

// प्राप्तकर्ता सेट करें messageVC.recipients = ["+79991234567"]

// संदेश का टेक्स्ट सेट करें messageVC.body = "नमस्ते! यह मेरे ऐप से एक परीक्षण संदेश है।"

// कंट्रोलर प्रदर्शित करें present(messageVC, animated: true, completion: nil) }

// MARK: - MFMessageComposeViewControllerDelegate func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) { // भेजने/रद्द करने के बाद कंट्रोलर बंद करें dismiss(animated: true, completion: nil)

// परिणाम संभालें switch result { case .sent: print("संदेश सफलतापूर्वक भेजा गया") case .cancelled: print("उपयोगकर्ता द्वारा भेजना रद्द किया गया") case .failed: print("संदेश भेजने में त्रुटि") @unknown default: print("अज्ञात परिणाम") } }}


इस कोड में हम:

  • canSendText() का उपयोग करके भेजने की संभावना की जाँच करते हैं।
  • MFMessageComposeViewController बनाते हैं और प्राप्तकर्ताओं और संदेश के मुख्य भाग को कॉन्फ़िगर करते हैं।
  • परिणाम को संभालने के लिए डेलिगेट (messageComposeDelegate) सेट करते हैं।
  • डेलिगेट विधि में चार संभावित परिणामों को संभालते हैं: भेजा गया, रद्द किया गया, त्रुटि, अज्ञात स्थिति।


अतिरिक्त क्षमताएँ

MessageUI केवल सादा टेक्स्ट ही नहीं, बल्कि अटैचमेंट का भी समर्थन करता है:



// अटैचमेंट जोड़ना (उदाहरण के लिए, एक छवि)if let imageData = UIImage(named: "photo")?.pngData() {    messageVC.addAttachmentD                    

अनुशंसाएँ