在開發 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”方法。

您的最終程式碼應如下所示!

完成了!讓我們執行它。

要檢視其執行情況,您需要在真實裝置上執行,因為簡訊行為在模擬器中不可用。

更新於:2019年7月30日

90 次瀏覽

啟動您的職業生涯

透過完成課程獲得認證

開始
廣告