Ich habe eine Twilio App, die auf SwiftTwilioClientQuickstart basiert. Dies ist das alte Client SDK, nicht das Voice SDK. Die App wird erstellt und ausgeführt. Wenn ich versuche, zu wählen, wird der Fehler "Twilio Services Error" angezeigt.Twilio Client sdk für iOS Fehlercode 31002
Fehler Domain = TwilioServicesErrorDomain Code = 31002 "Twilio Dienstleistungen Error" Userinfo = {NSLocalizedDescription = Twilio Dienstleistungen Fehler}
Was ist 31002 Fehlercode?
-Code
func initializeTwilioDevice(_ token:String) {
// confirmed this function is called
print("initializeTwilioDevice with token \(token)")
device = TCDevice.init(capabilityToken: token, delegate: self)
}
//MARK: TCDeviceDelegate
func deviceDidStartListening(forIncomingConnections device: TCDevice) {
DispatchQueue.main.async {
self.statusLabel.text = "Started listening for incoming connections"
}
}
func device(_ device: TCDevice, didStopListeningForIncomingConnections error: Error?) {
print("func device didStopListeningForIncomingConnections")
if let error = error {
print("func device " + error.localizedDescription)
print(error)
}
}
func device(_ device: TCDevice, didReceiveIncomingConnection connection: TCConnection) {
print("func device didReceiveIncomingConnection")
if let parameters = connection.parameters {
let from = parameters["From"]
let message = "Incoming call from \(from)"
let alertController = UIAlertController(title: "Incoming Call", message: message, preferredStyle: .alert)
let acceptAction = UIAlertAction(title: "Accept", style: .default, handler: { (action:UIAlertAction) in
connection.delegate = self
connection.accept()
self.connection = connection
})
let declineAction = UIAlertAction(title: "Decline", style: .cancel, handler: { (action:UIAlertAction) in
connection.reject()
})
alertController.addAction(acceptAction)
alertController.addAction(declineAction)
present(alertController, animated: true, completion: nil)
}
}
func device(_ device: TCDevice, didReceivePresenceUpdate presenceEvent: TCPresenceEvent) {
print("func device didReceivePresenceUpdate")
}
//MARK: TCConnectionDelegate
func connectionDidConnect(_ connection: TCConnection) {
statusLabel.text = "Connected"
hangUpButton.isEnabled = true
}
func connectionDidDisconnect(_ connection: TCConnection) {
print("disconnect")
statusLabel.text = "Disconnected"
dialButton.isEnabled = true
hangUpButton.isEnabled = false
}
func connectionDidStartConnecting(_ connection: TCConnection) {
statusLabel.text = "Started connecting...."
}
func connection(_ connection: TCConnection, didFailWithError error: Error?) {
if let error = error {
print("func connection:" + error.localizedDescription)
print(error)
}
}
//MARK: UITextFieldDelegate
func textFieldShouldReturn(_ textField: UITextField) -> Bool {
dial(dialTextField)
dialTextField.resignFirstResponder()
return true;
}
//MARK: IB Actions
@IBAction func hangUp(_ sender: AnyObject) {
if let connection = connection {
connection.disconnect()
}
}
@IBAction func dial(_ sender: AnyObject) {
if let device = device {
print("dial \(dialTextField.text!)")
connection = device.connect(["To":dialTextField.text!], delegate: self)
dialButton.isEnabled = false
dialTextField.resignFirstResponder()
}
}
Sie rechts stellte sich heraus, bezogen bekommen waren. Ich ging sorgfältig alle IDs durch und stellte fest, dass einer von ihnen falsch war. – ryantxr