You are viewing the Spanish (Mexico) site, but your language preference is set to English. Switch to English site →

Menu

Expand
Calificar esta página:

SDK para iOS

El SDK de Programmable Voice para iOS de Twilio te permite agregar llamadas de voz sobre IP (VoIP) a tus aplicaciones nativas de iOS.

Aviso de compatibilidad con iOS 14

Para tener compatibilidad con iOS 14, actualiza el SDK a la versión más reciente, el SDK 5.5.1 de Voice para iOS.

Aviso de compatibilidad con iOS 13

Es posible que las aplicaciones que utilizan las versiones 2.0.x, 3.x y 4.x no registren las llamadas entrantes cuando se ejecuten en iOS 13. Te recomendamos que actualices el SDK a la versión 5.0. Consulta este documento informativo y este issue (informe de problema) de GitHub para obtener más información. Consulta nuestras guías de migración cuando estés planificando la migración a nuestro SDK más reciente.

Si quieres obtener instrucciones paso a paso para empezar a utilizar el SDK de Programmable Voice para iOS, consulta los inicios rápido para realizar llamadas desde tus apps nativas de iOS en Objective-C y Swift.

Los SDK de Programmable Voice se publican según el control de versiones semántico, por lo que siempre debes tener en cuenta las versiones principal y secundaria de los SDK para mantener la compatibilidad de la API con tu código. En el caso de las versiones 1.0 y posteriores, las versiones secundarias no corromperán las integraciones existentes, pero durante un período beta los incrementos en las versiones secundarias en el rango 0.x representan cambios en la API que sí generarán errores. Las versiones a nivel de parche (0.0.x) representan cambios durante un período beta que no generarán errores.

Autenticación y autorización

En los SDK de Programmable Voice, utilizamos un nuevo mecanismo de autenticación y autorización para que el servidor de aplicaciones proporcione a tus clientes acceso a tus aplicaciones de voz. Logramos esto proporcionando a tu app un Access Token (token de acceso) que controla la sesión de autenticación de la aplicación cliente con tu cuenta en la nube de Twilio. Los Access Tokens (tokens de acceso) son diferentes de los tokens de capacidad utilizados en las versiones anteriores de Twilio Client. El uso de un token de capacidad en el SDK de Programmable Voice no funcionará. Los tokens de acceso, al igual que los tokens de capacidad, son tokens JWT, pero utilizan un formato nuevo y más flexible que se utiliza en todos los nuevos SDK de Twilio.

Consola de administración

Las herramientas de desarrollo y las opciones de configuración de Programmable Voice se encuentran en el panel de control de Programmable Voice. Utiliza la consola para crear apps TwiML, actualizar credenciales push, ver registros y mucho más.

Los SDK de Programmable Voice se publican según el control de versiones semántico, por lo que siempre debes tener en cuenta las versiones principal y secundaria de los SDK para mantener la compatibilidad de la API con tu código. En el caso de las versiones 1.0 y posteriores, las versiones secundarias no corromperán las integraciones existentes, pero durante un período beta los incrementos en las versiones secundarias en el rango 0.x representan cambios en la API que sí generarán errores. Las versiones a nivel de parche (0.0.x) representan cambios durante un período beta que no generarán errores.

Requisitos previos

  • Xcode 12.0+
  • Los proyectos Swift deben usar Swift 4.0 o superior
  • Compatibilidad con iOS 11.0+

Instalación

El marco de Voice para iOS se puede instalar usando Swift Package Manager, CocoaPods, Carthage o de forma manual, como prefieras.

Swift Package Manager

Puedes agregar Programmable Voice para iOS agregando el repositorio https://github.com/twilio/twilio-voice-ios como un paquete Swift.

En Build Settings (Configuración de compilación), también deberás modificar Other Linker Flags (Otras marcas de vinculación) para incluir -ObjC.

A partir de la última versión de Xcode (actualmente 12.4), existe un problema conocido con el consumo de marcos binarios distribuidos a través de Swift Package Manager. La solución actual a este problema es agregar una fase Run Script Phase (Fase de ejecución de script) a las Build Phases (Fases de compilación) del proyecto de Xcode. Esta fase Run Script Phase (Fase de ejecución de script) debe ir después de la fase de compilación Embed Framework (Incluir marco). Esta nueva Run Script Phase (Fase de ejecución de script) debe contener el siguiente código:

find "${CODESIGNING_FOLDER_PATH}" -name '*.framework' -print0 | while read -d $'\0' framework
do
    codesign --force --deep --sign "${EXPANDED_CODE_SIGN_IDENTITY}" --preserve-metadata=identifier,entitlements --timestamp=none "${framework}"
done

CocoaPods

Es fácil instalar el marco de Voice cuando gestionas tus dependencias mediante CocoaPods. Solo tienes que agregar esto a tu Podfile:

source 'https://github.com/cocoapods/specs'

target 'TARGET_NAME' do
  use_frameworks!

  pod 'TwilioVoice', '~> 6.4.1'
end

Luego, debes ejecutar pod install --verbose para instalar las dependencias en tu proyecto.

Carthage

Apoyamos las integraciones usando marcos binarios de Carthage. Puedes agregar el SDK de Voice para iOS agregando la siguiente línea a tu Cartfile:

binary "https://raw.githubusercontent.com/twilio/twilio-voice-ios/Releases/twilio-voice-ios.json"

Luego, ejecuta carthage bootstrap --use-xcframeworks (o carthage update --use-xcframeworks si estás actualizando tus SDK)

En la pestaña de configuración General de la aplicación de destino, en la sección Frameworks, Libraries, and Embedded Content (Marcos, bibliotecas y contenidos incluidos), arrastra y suelta TwilioVoice.xcframework desde la carpeta Carthage/Build de tu disco.

Instalación manual

TwilioVoice.xcframework se distribuye como un marco dinámico de iOS que puedes arrastrar y soltar en tus proyectos existentes.

Una vez que hayas descargado y desempaquetado XCFramework, navega a la página de configuración General de tu proyecto de Xcode. Arrastra y suelta TwilioVoice.xcframework en la sección Frameworks, Libraries, and Embedded Content (Marcos, bibliotecas y contenido incluido). Asegúrate de que la opción "Copy items if needed" (Copiar elementos de ser necesario) esté activada y presiona Finish (Finalizar). Asegúrate de que la opción "Embed & Sign" (Incluir y firmar) esté seleccionada.

En Build Settings (Configuración de compilación), también deberás modificar Other Linker Flags (Otras marcas de vinculación) para incluir -ObjC.

Te recomendamos que revises nuestra Guía de primeros pasos para hacerte una idea de cómo funcionan en conjunto todos estos componentes. La app de inicio rápido está configurada para gestionar las dependencias con CocoaPods, pero también puedes instalar los marcos de forma manual, como se describe anteriormente.

Carthage

Actualmente, Carthage no es un mecanismo de distribución compatible con Twilio Voice. En este momento, Carthage no funciona con .xcframeworks como se documenta aquí. Una vez que Carthage sea compatible con binarios de .xcframeworks, se volverá a incluir Carthage como sistema de distribución.

Biblioteca estática

Voice también está disponible como una biblioteca estática.

Una vez que hayas descargado la biblioteca estática, arrastra y suelta los archivos libTwilioVoice.a, libboringssl.a y la carpeta include en tu proyecto de Xcode. Esto agregará las bibliotecas estáticas a la sección Frameworks, Libraries, and Embedded Contents (Marcos, bibliotecas y contenidos incluidos) . Hay algunas cosas más que tendrás que agregar para que la biblioteca funcione correctamente con tu app:

  • Agrega -ObjC a Other Linker Flags (Otras marcas de vinculación)
  • Agrega estos marcos a la sección Linked Frameworks and Libraries (Marcos y bibliotecas vinculados): SystemConfiguration, AudioToolbox, AVFoundation, CoreTelephony, PushKit y CallKit.
Calificar esta página:

¿Necesitas ayuda?

Todos la necesitamos a veces; la programación es difícil. Obtén ayuda ahora de nuestro equipo de soporte, o recurre a la sabiduría de la multitud visitando Stack Overflow Collective de Twilio o navegando por la etiqueta de Twilio en Stack Overflow.

        
        
        

        Gracias por tus comentarios.

        Selecciona los motivos de tus comentarios. La información adicional que nos brindas nos ayuda a mejorar nuestra documentación:

        Enviando tus comentarios…
        🎉 Gracias por tus comentarios.
        Se produjo un error. Inténtalo de nuevo.

        Gracias por tus comentarios.

        thanks-feedback-gif