无法使用类型为'(用户:字符串,密码:字符串)'的参数列表调用'authenticate'

问题描述 投票:-1回答:2

我正在尝试将引荐程序添加到我正在开发的应用程序中。对我而言,第一步是从我拥有的电话号码向用户发送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()
    }
}
swift xcode twilio alamofire
2个回答
1
投票

欢迎上船。

我认为问题是,参数accountSIDauthToken不被视为字符串变量。

也许您应该按自己的条件进行投射,例如:

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

您的代码中没有任何警告吗?


0
投票

您可能正在使用较旧的教程。在Alamofire 5中,authenticate(user:password:)重命名为authenticate(username:password:)

© www.soinside.com 2019 - 2024. All rights reserved.