使用Swift Parse和Twilio验证代码始终无效

使用Swift Parse和Twilio验证代码始终无效,swift,parse-platform,sms,twilio,parse-cloud-code,Swift,Parse Platform,Sms,Twilio,Parse Cloud Code,Im使用短信验证来验证用户。我的问题是,当我输入一个代码来验证时,我得到了无效的代码。我一辈子都不知道为什么 调用云代码函数: @IBAction func verifyCodeButtonTapped(sender: AnyObject) { var verificationCode: String = verificationCodeTextField.text! let textFieldText = verificationCodeTextField.text ?? ""

Im使用短信验证来验证用户。我的问题是,当我输入一个代码来验证时,我得到了无效的代码。我一辈子都不知道为什么

调用云代码函数:

@IBAction func verifyCodeButtonTapped(sender: AnyObject) {
    var verificationCode: String = verificationCodeTextField.text!
    let textFieldText = verificationCodeTextField.text ?? ""

    if verificationCode.utf16.count != 4 {
        displayAlert("Error", message: "You must entert the 4 digit verification code sent yo your phone")
    } else {
        let params = ["verifyPhoneNumber" : textFieldText]
        PFCloud.callFunctionInBackground("verifyPhoneNumber", withParameters: params, block: { (object: AnyObject?, error) -> Void in
            if error == nil {
                self.performSegueWithIdentifier("showVerifyCodeView", sender: self)
            } else {
                self.displayAlert("Sorry", message: "We couldnt verify you. Please check that you enterd the correct 4 digit code sent to your phone")
            }
        })
    }
}
验证代码的云代码:

Parse.Cloud.define("verifyPhoneNumber", function(request, response) {
    var user = Parse.User.current();
    var verificationCode = user.get("phoneVerificationCode");
    if (verificationCode == request.params.phoneVerificationCode) {
        user.set("phoneNumber", request.params.phoneNumber);
        user.save();
        response.success("Success");
    } else {
        response.error("Invalid verification code.");
    }
});

这里是Twilio开发者福音传道者

在解析代码中,您需要
request.params.phoneVerificationCode
,但当您从iOS调用云函数时,您需要
让params=[“verifyPhoneNumber”:textFieldText]

因此,要么将该行更改为

let params = ["phoneVerificationCode" : textFieldText]
因此它与云代码匹配。或者将您的云代码更改为

if (verificationCode == request.params.verifyPhoneNumber) {

使其与iOS代码匹配。

这里是Twilio开发者福音传道者

在解析代码中,您需要
request.params.phoneVerificationCode
,但当您从iOS调用云函数时,您需要
让params=[“verifyPhoneNumber”:textFieldText]

因此,要么将该行更改为

let params = ["phoneVerificationCode" : textFieldText]
因此它与云代码匹配。或者将您的云代码更改为

if (verificationCode == request.params.verifyPhoneNumber) {

使其与iOS代码匹配。

修复了我的问题!谢谢解决了我的问题!谢谢