Integración Agora SDK en iOS
En este tutorial, aprenderá cómo crear una aplicación en tiempo real donde grupos de personas pueden conectarse a través de una videollamada e incluso chatear. La idea es mostrar cómo la mensajería en tiempo real con Agora RTM se puede usar como una capa de orquestación para conectar a los usuarios a través de pequeños canales de ruptura, donde los usuarios pueden crear o unirse a una videollamada existente utilizando el motor Agora Real-time Communication. Aunque este tutorial es para iOS (usando Swift), Agora RTM SDK funciona para casi todas las plataformas compatibles.
Flujo de aplicaciones
El flujo de la aplicación es el siguiente:
- Toque un botón "Unirse"
- A continuación, verá varios usuarios transmitiendo sus videos en el canal.
- Ahora toque "Anfitrión" en la parte superior de la pantalla para ser un locutor.
- En este punto, aparecerá el permiso de cámara y micrófono.
- Voltear cámara (entre cámara frontal/trasera)
- Activar/desactivar la cámara
- Activar/desactivar el micrófono
- Alterne el filtro embellecer, que hace que la imagen sea más suave y también hace que la voz del locutor sea más clara.
- SDK de vídeo
- SDK de audio
- Cuenta de desarrollador de Ágora
- Xcode 11.0 o posterior
- Dispositivo iOS con 13.0 o posterior
- Una comprensión básica del desarrollo de iOS
- CocoaPods
Configuración
Comience haciendo clic en crear un proyecto de iOS o macOS en Xcode.
Xcode tiene problemas para descargar bibliotecas grandes como Agora SDK. Si se muestran errores, puede agregar un paquete rápido como este. En Xcode, seleccione Archivo > Paquetes Swift > Restablecer cachés de paquetes .
CocoaPods
Para instalar CocoaPod, escríbalo en su archivo pod AgoraUIKit_iOS con la última versión publicada, y su Podfile debería verse así:
target 'Agora-UIKit-Project' do
pod 'AgoraUIKit_iOS', '~> 4.0.3'
end
Ejecute pod instally abra el archivo .xcworkspace para comenzar.
Agregue autorización para que la aplicación use la cámara y el micrófono. Para esto, abra el archivo Info.plist en la raíz de su proyecto Xcode y luego agregue NSCameraUsageDescription con NSMicrophoneUsageDescription .
Para obtener más información sobre cómo solicitar autorización para la captura de medios, consulte este artículo de Apple .
Veamos cómo va:
Agregar transmisión de video
Si desea un AgoraViewController, simplemente cargue un feed a continuación en su controlador y todo el ViewController se verá así:
Diseño de cuadrícula a la izquierda, diseño flotante a la derecha
Eso es todo lo que se requiere cuando usamos Agora UIKit de manera básica. Sin embargo, esto no se tiene en cuenta, y también se requieren tokens en las aplicaciones de producción por seguridad.
Integración de fichas
Hay varios blogs y repositorios disponibles para comprender los tokens; que incluye una guía de configuración de 2 clics , un servidor de token preconstruido en Golang e información sobre cómo obtener un token en su aplicación Swift .
Deberá definir un objeto AgoraSettings. Luego asigne el valor en la URL del token y luego aplique el objeto de configuración mientras crea su objeto AgoraVideoViewer.
Ahora, cada vez que se conecte a un nuevo canal, le pedirá un fetchTokenvalor booleano y lo configurará como verdadero:
Resumen
Crear una aplicación de producción utilizando la red de Agora para videollamadas y chat en tiempo real ahora es más fácil que nunca. Las mismas clases y métodos también funcionarán para una aplicación macOS.
Al dirigirse al blog Advanced Agora UIKit , puede desbloquear todo el potencial de Agora UIKit para iOS y macOS. Se pueden realizar muchas más personalizaciones y mejoras con esta biblioteca.
Otros recursos
Consulte la Guía de inicio rápido de videollamadas de Agora para obtener más información sobre cómo crear aplicaciones con los SDK de Agora.io.
También te invito a unirte a la comunidad Agora.io Developer Slack .
Siga Simform Engineering para mantenerse al día con las últimas tendencias en el ecosistema de desarrollo.

![¿Qué es una lista vinculada, de todos modos? [Parte 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































