不发送任何短信

时间:2019-01-10 17:10:34

标签: swift twilio

我想在我的应用程序中实现短信的发送。我对此并不陌生,所以请多多包涵。

以下是用户要发送消息时应点击的按钮的代码:

   @IBAction func sendMessageButtonTapped(_ sender: UIButton) {


        if let accountSID = ProcessInfo.processInfo.environment["TWILIO_ACCOUNT_SID"],
            let authToken = ProcessInfo.processInfo.environment["TWILIO_AUTH_TOKEN"] {

            let url = "https://api.twilio.com/2010-04-01/Accounts/\(accountSID)/Messages"
            let parameters = ["From": "123456789", "To": "987654321", "Body": "Hello from Swift!"]

            AF.request(url, method: .post, parameters: parameters)
                .authenticate(username: accountSID, password: authToken)
                .responseJSON { response in
                    debugPrint(response)

            }
            print(accountSID) //Does not get called
            RunLoop.main.run()
        }     
    }    

此代码是从Twilio´s own guide to sending text messages from Swift抓取的

当我按照指南进行操作并在内置终端中发送消息时,但是当我使用上述代码运行应用程序时,什么也没发生。 package.swift和“ main.swift”是否应以某种方式在项目中实现?还是我完全偏离目标?

编辑* 当我添加时:

 print(ProcessInfo.processInfo.environment["TWILIO_ACCOUNT_SID"])
 print(ProcessInfo.processInfo.environment["TWILIO_AUTH_TOKEN"])

返回@IBAction func sendMessageButtonTapped(_ sender: UIButton)会返回nil,但是如果我运行以下命令:echo $TWILIO_AUTH_TOKENecho $TWILIO_ACCOUNT_SID则会返回正确的值。

1 个答案:

答案 0 :(得分:1)

这里是Twilio开发人员的传播者。

您遵循的代码用于在服务器上使用Swift调用Twilio API。

我们不建议您从应用程序对Twilio API进行API调用,因为这样做将需要包括或嵌入Twilio凭据。然后,恶意用户可能会反编译应用程序并滥用您的帐户。

相反,我们建议您设置自己的服务器,然后从应用程序中调用它。然后,服务器可以确保您的凭据安全。 how to send an SMS from iOS in Swift上有一篇博客文章,向您展示如何做到这一点。