Swift 不发送任何短信
我想在我的应用程序中实现发送短信。我是新手,所以请容忍我 以下是用户在想要发送消息时应点击的按钮的代码:Swift 不发送任何短信,swift,twilio,Swift,Twilio,我想在我的应用程序中实现发送短信。我是新手,所以请容忍我 以下是用户在想要发送消息时应点击的按钮的代码: @IBAction func sendMessageButtonTapped(_ sender: UIButton) { if let accountSID = ProcessInfo.processInfo.environment["TWILIO_ACCOUNT_SID"], let authToken = ProcessInfo.proc
@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()
}
}
此代码是从
当我遵循指南,内置终端时,它会发送消息,但当我用上面的代码运行应用程序时,什么也没发生。package.swift
和“main.swift”是否应该以某种方式在项目中实施?还是我完全偏离了目标
编辑*
当我加上:
print(ProcessInfo.processInfo.environment["TWILIO_ACCOUNT_SID"])
print(ProcessInfo.processInfo.environment["TWILIO_AUTH_TOKEN"])
对于
@IBAction func sendMessageButtonTapped(\uSender:UIButton)
它返回nil,但是如果我运行以下命令:echo$TWILIO\u AUTH\u TOKEN
和echo$TWILIO\u ACCOUNT\u SID
它返回正确的值 这里是Twilio开发者福音传道者
下面的代码用于在服务器上使用Swift调用Twilio API
我们不建议您从应用程序对Twilio API进行API调用,因为这样做需要包含或嵌入Twilio Crendential。恶意用户可能会反编译应用程序并滥用您的帐户
相反,我们建议您设置自己的服务器,从应用程序中调用该服务器。然后服务器可以保护您的凭据安全。上有一篇博客文章向您展示了如何做到这一点。我怀疑
ProcessInfo.ProcessInfo.environment[“TWILIO\u ACCOUNT\u SID”]
和ProcessInfo.ProcessInfo.environment[“TWILIO\u AUTH\u TOKEN”]
为零。这也是我的想法。但是我该如何设置它们呢?我已经从我的项目的根文件夹中运行了命令:export-TWILIO\u-ACCOUNT\u-SID='YOUR\u-ACCOUNT\u-SID'
和export-TWILIO\u-AUTH\u-TOKEN='YOUR\u-AUTH\u-TOKEN'
。当然有我自己的证件。这不对吗?您是在运行项目的同一终端窗口中执行此操作的吗?我想它运行在不同的范围内。您可能需要将这些添加到您的bash_rc文件中(如果我没有记错的话)@Anvil您是否按照Scriptable的建议对其进行了排序?这篇关于的博客文章可能会有所帮助。@philnash感谢您的后续行动。不,我还是无法发送消息。我已经设置了环境变量,因此当我运行echo$TWILIO\u ACCOUNT\u SID和echo$TWILIO\u AUTH\u TOKEN命令时,它会返回正确的值。但应用程序仍然无法发送。是否有其他配置我丢失或做错了?请回答我的问题。我现在明白了。谢谢你的澄清