NXMClient
Antes de que puedas realizar una llamada, el Client SDK necesita autenticarse en los servidores de Vonage. Las siguientes adiciones son necesarias para ViewController.m.
NOTA: Tenga en cuenta que ya ha importado NexmoClient en la parte superior del archivo.
Añadir un NXMClient y la conformidad con el NXMClientDelegate a la interfaz .
@interface ViewController () <NXMClientDelegate>
@property UILabel *connectionStatusLabel;
@property NXMClient *client;
@end
Añadir el JWT
Al final de viewDidLoadConfigure el delegado del cliente e inicie sesión; asegúrese de sustituir ALICE_JWT para la JWT que creó en un paso anterior. Recuerde que el tiempo de caducidad del token es de 6 horas, por lo que tendrá que generar uno nuevo si es demasiado antiguo.
- (void)viewDidLoad {
...
self.client = NXMClient.shared;
[self.client setDelegate:self];
[self.client loginWithAuthToken:@"ALICE_JWT"];
}
El delegado cliente
Para que el delegado funcione, debe tener ViewController ajustarse a NXMClientDelegate. Añade estas dos funciones delegadas a la clase.
- (void)client:(nonnull NXMClient *)client didChangeConnectionStatus:(NXMConnectionStatus)status reason:(NXMConnectionStatusReason)reason {
dispatch_async(dispatch_get_main_queue(), ^{
switch (status) {
case NXMConnectionStatusConnected:
self.connectionStatusLabel.text = @"Connected";
break;
case NXMConnectionStatusConnecting:
self.connectionStatusLabel.text = @"Connecting";
break;
case NXMConnectionStatusDisconnected:
self.connectionStatusLabel.text = @"Disconnected";
break;
}
});
}
- (void)client:(nonnull NXMClient *)client didReceiveError:(nonnull NSError *)error {
dispatch_async(dispatch_get_main_queue(), ^{
self.connectionStatusLabel.text = error.localizedDescription;
});
}
Si se encuentra un error, se mostrará connectionStatusLabel se actualiza con el estado de la conexión correspondiente.
Construir y ejecutar
Pulse Cmd + R para construir y ejecutar de nuevo:

Recibir una llamada telefónica in-app
Recibes una llamada de un teléfono a tu aplicación