У меня есть страница с несколькими UITextFields, где пользователь может ввести несколько контактных номеров. При нажатии кнопки «Отправить» необходимо отправить предустановленное текстовое сообщение по указанным контактным номерам. Я использую Twilio для запуска этого и использую функцию функций, чтобы мне не пришлось создавать отдельный сервер. У меня проблема в том, что он не отправляет сообщение, когда в списке более одного номера. Как мне исправить это так, чтобы, когда пользователь набирает несколько номеров, он отправлял предустановленное сообщение на эти номера?
Я пытался исправить это несколько раз, но это не помогает
Это мой код в swift:
@IBOutlet weak var phonenumber: UITextField!
@IBOutlet weak var phonenumber1: UITextField!
@IBOutlet weak var phonenumber2: UITextField!
@IBOutlet weak var phonenumber3: UITextField!
var currentTextField: UITextField?
private let contactPicker = CNContactPickerViewController()
override func viewDidLoad() {
super.viewDidLoad()
configureTextFields()
configureTapGesture()
}
private func configureTextFields() {
phonenumber.delegate = self
phonenumber1.delegate = self
phonenumber2.delegate = self
phonenumber3.delegate = self
}
private func configureTapGesture(){
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(SelfTestTimer.handleTap))
viewcontact.addGestureRecognizer(tapGesture)
}
@objc private func handleTap(){
viewcontact.endEditing(true)
}
@IBAction func sendbutton(_ sender: Any) {
presentAlert(alertTitle: "", alertMessage: "Make sure all the contacts have a country code attached to it ie +60", lastAction: UIAlertAction(title: "Continue", style: .default) { [weak self] _ in
let headers = [
"Content-Type": "//urlencoded"
]
let parameters: Parameters = [
"To": self?.currentTextField?.text ?? "", // if "To": is set to just one text field ie "To": self?.phonenumber1.text ?? "", the sms is sent
"Body": "Tester",
]
Alamofire.request("//path", method: .post, parameters: parameters, headers: headers).response { response in
print(response)
}
}
)}
}
extension SelfTestTimer: UITextFieldDelegate {
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
currentTextField = nil
textField.resignFirstResponder()
return true
}
func textFieldDidBeginEditing(_ textField: UITextField) {
if textField.hasText{
//dont do anything
}else{
currentTextField = textField
contactPicker.delegate = self
self.present(contactPicker, animated: true, completion: nil)
}
return
}
}
Это код в моей функции Twilio:
exports.handler = function(context, event, callback) {
const client = context.getTwilioClient();
const to = event.To;
const body = event.Body;
client.messages.create({
from: 'Twilio Phone Number',
to: to,
body: body,
}).then(msg => {
callback(null);
});
};
Я бы хотел, чтобы он работал так, чтобы он отправлял сообщение на все номера, перечисленные в UITextFields