【问题标题】:Send SMS Message to multiple recipients in Swift在 Swift 中向多个收件人发送 SMS 消息
【发布时间】:2016-11-19 15:41:32
【问题描述】:

我想使用 MFMessageComposeViewController 向多个收件人发送一条消息,我无法添加第二个等收件人

这是我的代码:

@IBAction func sendSms(sender: AnyObject) {

        if (MFMessageComposeViewController.canSendText())
        {
            let controller = MFMessageComposeViewController()
            controller.body = self.textView.text
            controller.recipients = [self.phoneField.text!]
            controller.messageComposeDelegate = self
            self.presentViewController(controller, animated: true, completion: nil)
        }
        else
        {
            print("Error")
        }
    }

extension MyViewController : MFMessageComposeViewControllerDelegate 
{
    func messageComposeViewController(_ controller: MFMessageComposeViewController, didFinishWith result: MessageComposeResult)     
    {
            controller.dismissViewControllerAnimated(true, completion: nil)}
    }
}

任何建议如何将其发送给多个收件人?

【问题讨论】:

  • 您面临的问题是什么? controller.recipients 需要一个数组,您可以将收件人电话号码作为数组提供给此属性
  • 我在 textField 中插入电话号码并将其传递给 controller.recipients
  • [controller.recipients = [phone1, phone2 ...]
  • @shallowThought 试过 'controller.recipients = ["9999999999,1234516828"]' 不工作

标签: ios swift2 mfmailcomposeviewcontroller


【解决方案1】:

如果用户在您的文本字段中输入多个电话号码,那么您需要提示用户使用逗号(或任何其他符号)分隔电话号码,您可以通过逗号分隔字符串并将其添加到您的数组中,然后传递该数组在controller.recipients

这是一个例子

if (MFMessageComposeViewController.canSendText())
        {
            let controller = MFMessageComposeViewController()
            controller.body = self.textView.text
            let phoneNumberString = "123456789,987654321,2233445566"
            let recipientsArray = phoneNumberString.components(separatedBy: ",")
            controller.recipients = recipientsArray
            controller.messageComposeDelegate = self
            self.presentViewController(controller, animated: true, completion: nil)
        }
        else
        {
            print("Error")
        }

【讨论】:

  • @rajat 在从您的应用中选择多个联系人时,您是否面临任何黑色视​​图呈现??
  • @Ramakrishna,不,我没有遇到过这样的问题。
  • 呼……好的。我一次将大约 200 个联系人从我的应用程序加载到消息编辑器中。要加载所有联系人需要时间,并且当时它显示黑色视图。这是我的问题。
【解决方案2】:

如果你想添加多个收件人,那么你可以这样写...

这是我的代码...

if (MFMessageComposeViewController.canSendText()) 
{
    let composeVC = MFMessageComposeViewController()
    composeVC.messageComposeDelegate = self

    // Configure the fields of the interface.
    composeVC.recipients = ["4085551212","8597485365","2564756984"]
    composeVC.body = "Hello from California!"

    // Present the view controller modally.
    self.presentViewController(composeVC, animated: true, completion: nil)
}

func messageComposeViewController(controller: MFMessageComposeViewController,
                              didFinishWithResult result: MessageComposeResult)
{
    // Check the result or perform other tasks.

    // Dismiss the message compose view controller.
    controller.dismissViewControllerAnimated(true, completion: nil)
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-04-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-15
    • 1970-01-01
    相关资源
    最近更新 更多