Я начинающий разработчик Swift, который выполняет Swift-миграцию приложения iOS, использующего Parse. Производственное приложение использует Swift 2 и работает правильно. Я обновил свой код до Swift 3, поэтому приложение запускается сейчас, но моя функция Parse Cloud не запускается, и я не могу найти причину.Swift Migration - Parse Cloud Function Wont Trigger
Вот код
@IBAction func action_signup_v2(_ sender: UIButton) {
Mixpanel.sharedInstance().track("ios_signup_phone_number_sent")
sender.isEnabled = false
let phoneNumberKit = PhoneNumberKit()
print("Tapped send button")
let phone_number=text_field_signup.text
do {
let phoneNumber = try phoneNumberKit.parse(phone_number!, withRegion: "US")
let phoneE164: String = phoneNumberKit.format(phoneNumber, toType: .e164)
let phone_clean = String(phoneE164.characters.dropFirst(2)) as String
self.phoneNumber=phone_clean
print(phone_number as Any)
PFCloud.callFunction(inBackground: "send_code", withParameters: ["phoneNumber":phone_clean,"language":"en"]) {
(response: Any?, error: Error?) in
print("Parse function triggered")
if error == nil {
// If there is no error
print("no err")
self.performSegue(withIdentifier: "go_to_verify_controller", sender: self)
} else {
Mixpanel.sharedInstance().track("ios_error_signup_phone_number")
self.present_alert(title: "Oops", content: "Our servers are too busy please try again in a few moment.")
print(error ?? "There is an error");
}
}
}
catch {
print("Generic parser error")
self.present_alert(title: "Oops", content: "Please check the format of your phone number and try again.")
Mixpanel.sharedInstance().track("ios_error_signup_phone_number", properties : ["error_message":"generic parser error"])
}
}
Вот что напечатано:
Tapped send button Optional("(650) 460-3317")
Здесь больше информации о Parse
PFCloud
класс предоставляет методы для взаимодействия с Анализировать облачных функций , */ открытый класс PFCloud: NSObject {
/**
Calls the given cloud function *asynchronously* with the parameters provided.
@param function The function name to call.
@param parameters The parameters to send to the function.
@return The task, that encapsulates the work being done.
*/
open class func callFunction(inBackground function: String, withParameters parameters: [AnyHashable : Any]?) -> BFTask<AnyObject>
/**
Calls the given cloud function *asynchronously* with the parameters provided
and executes the given block when it is done.
@param function The function name to call.
@param parameters The parameters to send to the function.
@param block The block to execute when the function call finished.
It should have the following argument signature: `^(id result, NSError *error)`.
*/
open class func callFunction(inBackground function: String, withParameters parameters: [AnyHashable : Any]?, block: Parse.PFIdResultBlock? = nil)
}
Спасибо за ваш ответ. Он ничего не делает. «Функция синтаксического разбора» не печатается. –
Можете ли вы вставить определение тоже, пожалуйста. облачная функция, чтобы я мог видеть – Cliffordwh
Я обновил свой вопрос. Что вы подразумеваете под «определением»? Большое спасибо. –