在開發 iOS 應用程式的過程中,你可能會遇到需要傳送簡訊的場景,這時你可能會感到困惑:為什麼?如何?以及什麼?
在本教程中,我們將重點介紹如何在 Swift 中從您的 iOS 應用程式傳送簡訊,我們將從使用者的電話號碼傳送簡訊。雖然我們無法直接在沒有使用者內容的情況下做到這一點,但我們可以顯示一個預先撰寫的訊息供使用者傳送,使用者之後可以根據需要修改。
讓我們開始吧!
我們將使用“MFMessageComposeViewController” 類物件在您的應用程式中顯示標準的訊息撰寫介面。
在呈現撰寫介面之前,我們將使用我們希望傳送的基本初始訊息填充欄位,以及使用者稍後可以修改的收件人列表。
撰寫介面不能保證訊息的送達,它只允許您構建初始訊息並將其呈現給使用者批准。使用者可以選擇取消撰寫介面,在這種情況下,訊息及其內容將被丟棄。如果使用者選擇傳送訊息,“資訊”應用程式將負責傳送訊息。
步驟 1:開啟 Xcode → 新建專案 → 單檢視應用程式 → 我們將其命名為“MailComposer”
步驟 2:開啟 Main.storyboard 並新增一個按鈕,將其命名為“傳送郵件”,不要忘記新增約束“水平和垂直居中於容器”,並新增“寬度 = 100 點,高度 = 50 點”,如下所示。
步驟 3:導航到 ViewController.swift 並新增按鈕例項 IBAction,將其命名為“sendMessage”
@IBAction func sendMessage(_ sender: Any) { }
步驟 4:將“MFMessageComposeViewControllerDelegate” 協議新增到您的 ViewController 類,並新增存根方法以確保它符合該協議。在 ViewController.swift 中匯入“MessageUI”。
步驟 5:在 viewDidLoad 方法下方建立新的方法“displayMsgInterface”,並貼上以下程式碼,該程式碼將負責呈現 MFMessageComposeViewController 和預填充收件人和訊息的配置。
func displayMsgInterface() { let messageCompose = MFMessageComposeViewController() messageCompose.messageComposeDelegate = self // Configure recipients messageCompose.recipients = ["9401234567"] // Configure message body messageCompose.body = "Hey! I just learned how to send message using iOS App." // Present the ViewController modally if MFMessageComposeViewController.canSendText() { self.present(messageCompose, animated: true, completion: nil) } else { print("You cannot send messages.") } }
步驟 6:將以下程式碼新增到委託方法“didFinishWithResult”
func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult) { self.dismiss(animated: true, completion: nil) }
步驟 7:從“viewDidLoad”呼叫“displayMsgInterface”方法。
您的最終程式碼應如下所示!
完成了!讓我們執行它。
要檢視其執行情況,您需要在真實裝置上執行,因為簡訊行為在模擬器中不可用。