我正在尝试将引荐程序添加到我正在开发的应用程序中。对我而言,第一步是从我拥有的电话号码向用户发送SMS消息。为此,我正在使用Twilio和Alamofire,但出现此错误:无法使用类型为((user:String,password:String))的参数列表调用'authenticate'。我从代码中删除了令牌,所以就在这里(我正在导入UIKit,Alamofire和Foundation):
func sendMessage() {
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": "YOUR_TWILIO_NUMBER", "To": "YOUR_PERSONAL_NUMBER", "Body": "Hello from Swift!"]
AF.request(url, method: .post, parameters: parameters)
.authenticate(user: accountSID, password: authToken)
.responseJSON { response in
debugPrint(response)
}
RunLoop.main.run()
}
}
欢迎上船。
我认为问题是,参数accountSID
和authToken
不被视为字符串变量。
也许您应该按自己的条件进行投射,例如:
if let accountSID = ProcessInfo.processInfo.environment["TWILIO_ACCOUNT_SID"] as? String,
let authToken = ProcessInfo.processInfo.environment["TWILIO_AUTH_TOKEN"] as? String {
您的代码中没有任何警告吗?
您可能正在使用较旧的教程。在Alamofire 5中,authenticate(user:password:)
重命名为authenticate(username:password:)
。