Swift 1.2 - Xcode 6.4 - 如何发送带有 Parse.com 的文本消息 (sms),类似于发生了什么?

Swift 1.2 - Xcode 6.4 - How can I send a text message (sms) with Parse.com in similarly to what's up?

Xcode6.4

在我的应用程序上使用解析,通过地理点检索用户。现在,如何通过 Parse 发送短信?或者,如果不可能,我可以通过 MFMessageComposeViewControllerDelegate 发送消息但仅使用电子邮件或用户的 Parse objetId 吗?我不想 use/request phone 个数字。

import UIKit
import MessageUI


class ViewController: UIViewController, MFMessageComposeViewControllerDelegate  {

    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }





    //MARK: let's add a method required to conform to MFMessageComposeViewControllerDelegate
    func messageComposeViewController(controller: MFMessageComposeViewController!, didFinishWithResult result: MessageComposeResult) {
        switch (result.value) {
        case MessageComposeResultCancelled.value:
            println("Message was cancelled")
            self.dismissViewControllerAnimated(true, completion: nil)
        case MessageComposeResultFailed.value:
            println("Message failed")
            self.dismissViewControllerAnimated(true, completion: nil)
        case MessageComposeResultSent.value:
            println("Message was sent")
            self.dismissViewControllerAnimated(true, completion: nil)
        default:
            break;
        }
    }






    @IBAction func sendMessage(sender: UIButton) {

//        MFMessageComposeViewController *controller = [[MFMessageComposeViewController alloc] init];
        var messageVC = MFMessageComposeViewController()

        messageVC.body = "Enter a message"
        messageVC.recipients = ["Enter tel-nr"]
        messageVC.messageComposeDelegate = self



        self.presentViewController(messageVC, animated: false, completion: nil)
    }

}

除了在 iMessage 用户之间发送消息外,您不能覆盖 MFMessageComposeViewController。您必须构建自己的消息传递 UI(或使用现有的开源库)才能在 Parse 用户之间发送 'texts'。

This tutorial explains in-depth how to create a messaging app and send and show messages between Parse users. This Parse tutorial 解释了如何使用和设置推送通知。

基本流程:

  1. User1 创建一个 "Message" 对象链接到 User2
  2. 用户 2 收到带有 "Message" 内容的推送通知或轮询解析以获取新消息
  3. User2 打开与 User1 的消息历史记录并查看消息

根据 Parse 的问题存档this thread,这是可能的。

You can use Mailgun or Twilio to generate these emails and text messages from Cloud Code.

This Parse blog post 给出了一个使用 Twilio 的示例,但您似乎需要一个 phone 号码来识别接收用户。

Parse.Cloud.httpRequest({
    method: "POST",
    url: "https://<account_sid>:<auth_token>@api.twilio.com/2010-04-01/Accounts/<account_sid>/SMS/Messages.json",
    body: {
        From:"+14085550693",
        To: "+14085551212",
        Body:"Hi, Parse can send SMS via Twilio!"
    }
});

由于您不想使用 phone 号码,我提供了一个来自 Mailgun's documentation 的示例,展示了如何使用他们的 API.[=16= 发送消息]

curl -s --user 'api:YOUR_API_KEY' \
https://api.mailgun.net/v3/YOUR_DOMAIN_NAME/messages \
-F from='Excited User <mailgun@YOUR_DOMAIN_NAME>' \
-F to=YOU@YOUR_DOMAIN_NAME \
-F to=bar@example.com \
-F subject='Hello' \
-F text='Testing some Mailgun awesomness!'