SDK do iOS para a Video API da Vonage
O SDK para iOS da Video API da Vonage permite que você utilize sessões de vídeo com tecnologia da Video API da Vonage nos aplicativos que você desenvolve para dispositivos iPad, iPhone e iPod touch.
- Visão geral do SDK
- Referência da API
- Tutoriais
- Amostras
- Notas de lançamento
Todos os aplicativos que utilizam a Video API da Vonage são compostos por duas partes:
- O lado do cliente, que utiliza o SDKs do cliente OpenTok e é executado no navegador ou no aplicativo móvel do usuário
- O lado do servidor, que utiliza o SDKs de servidor do OpenTok e é executado no seu servidor para transmitir as informações de autenticação ao cliente.
O Client SDK para o desenvolvimento de aplicativos iOS é o OpenTok iOS SDK, que oferece a maior parte das funcionalidades essenciais para o seu aplicativo, incluindo:
- Conectando-se a uma sessão do OpenTok
- Publicação de fluxos em uma sessão
- Inscrição em streams durante uma sessão
Os SDKs de cliente também estão disponíveis para web, Android, iOS, Windows, macOS, Linux e React. Todos os SDKs de cliente da OpenTok podem interagir entre si.
Você pode saber mais sobre os conceitos básicos dos clientes, servidores e sessões do OpenTok, entre outros assuntos, na Noções básicas sobre a Video API página.
Observações importantes
- A versão 2.35.1+ do SDK é compatível apenas com o iOS 17 ou versões posteriores.
- A versão 2.35.1+ é compatível com o Swift Package Manager. A distribuição do CocoaPods está obsoleta e será removida em uma versão futura.
- A versão 2.33.0+ do SDK é compatível com Macs com Apple Silicon que executam o macOS 14 ou versões posteriores. Consulte a seção “Suporte ao macOS” abaixo para conhecer as considerações e limitações específicas da plataforma.
- O compartilhamento de tela no macOS se limita à janela do próprio aplicativo — A captura completa da área de trabalho não é compatível. Consulte esse problema conhecido para mais detalhes.
- Alterações na rede do iOS 14 que afetam as sessões retransmitidas — veja a lista de problemas conhecidos nas notas de lançamento.
- Problemas ao usar o Simulador para visualizar seu aplicativo em um Mac com chip M1 — veja a lista de problemas conhecidos nas notas de lançamento.
Interoperabilidade
Os aplicativos desenvolvidos com o SDK do OpenTok para iOS 2.35.1 podem interagir com aplicativos do OpenTok desenvolvidos com a versão 2.33 ou superior dos Client SDKs do OpenTok:
- OpenTok.js
- SDK do OpenTok para Android
- SDK do OpenTok para iOS
- SDK do OpenTok para Windows
- SDK do OpenTok para macOS
- SDK do OpenTok para Linux
- SDK do OpenTok para React Native
Instalação
O SDK do Vonage Video para iOS oferece suporte a Swift Package Manager (SPM) como método de distribuição recomendado, disponível a partir da versão 2.35.1. A distribuição via CocoaPods por meio do OTXCFramework O pod também é mantido para fins de compatibilidade com versões anteriores enquanto o suporte ao CocoaPods permanecer disponível, mas está sendo descontinuado e, eventualmente, será removido.
Recomendação: Novos projetos devem utilizar o Swift Package Manager. Se você estiver usando o CocoaPods no momento, consulte o Migração do CocoaPods seção abaixo.
Swift Package Manager (recomendado)
O Swift Package Manager está integrado diretamente ao Xcode e não requer ferramentas adicionais.
No Xcode:
- Abra seu projeto no Xcode.
- Acesse Arquivo > Adicionar dependências de pacotes…
- Digite a seguinte URL do repositório na barra de pesquisa: https://github.com/opentok/opentok-ios-sdk.git
- Selecione a regra de versão (por exemplo, Até o próximo grande evento) e clique em Adicionar pacote.
- Selecione o OpenTokClientSDKVideo biblioteca e clique em Adicionar à lista de compras.
As dependências do SPM são resolvidas e baixadas automaticamente ao compilar ou abrir o projeto no Xcode. Você pode visualizá-las na seção Dependências do pacote seção no Navegador do Projeto.
CocoaPods (obsoleto)
⚠️ Aviso de descontinuação: A distribuição do CocoaPods está sendo descontinuada. O OTXCFramework O pod continuará sendo mantido enquanto houver suporte ao CocoaPods, mas recomendamos enfaticamente a migração para o Swift Package Manager.
Adicione o seguinte ao seu Podfile:
target 'YourApp' do
pod 'OTXCFramework'
end
Em seguida, execute:
Abra o arquivo gerado .xcworkspace arquivo (não .xcodeproj) para compilar seu projeto.
Migração do CocoaPods
Se o seu projeto atualmente utiliza o OTXCFramework Para o pod CocoaPods, siga estas etapas para migrar para o Swift Package Manager:
- Remova o CocoaPods do seu projeto:
Isso remove todas as fases de compilação e configurações do CocoaPods do seu .xcodeproj.
-
Excluir arquivos do CocoaPods: Remover
Podfile,Podfile.lock, e oPods/diretório da pasta do seu projeto. Exclua também o arquivo gerado pelo CocoaPods.xcworkspacese você não precisar mais dele. -
Adicione o SDK por meio do SPM: Siga o Gerenciador de Pacotes Swift siga as instruções acima para adicionar
https://github.com/opentok/opentok-ios-sdk.gitcomo uma dependência do pacote. -
Atualize suas importações: Se você estivesse importando
OpenTok, o nome do módulo permanece o mesmo — não é necessário fazer alterações nas importações. -
Compilar e verificar: Abra seu
.xcodeprojdiretamente no Xcode (sem.xcworkspacenecessários para projetos exclusivamente SPM) e execute a compilação para confirmar se tudo foi resolvido corretamente.
Requisitos do sistema
A versão atual do SDK do OpenTok para iOS (2.35.1+) é compatível com o iOS 17 ou versões posteriores.
O SDK do OpenTok para iOS é compatível com conexões Wi-Fi, 4G/LTE e 5G.
O SDK do OpenTok para iOS requer o Xcode 7 ou uma versão posterior.
Para garantir uma transmissão de vídeo confiável, verifique se o seu dispositivo atende às seguintes especificações recomendadas:
- CPU: Apple A12 Bionic ou mais recente.
- RAM: Pelo menos 4 GB de RAM para chamadas em grupo e multitarefa.
- Tela: 5,4"+ para o iPhone, 10,2"+ para o iPad.
- Capacidade da bateria: mais de 3.000 mAh para o iPhone e mais de 7.000 mAh para o iPad.
- Rede: Conectividade confiável à internet; funciona por Wi-Fi ou rede móvel.
Essas recomendações garantem uma reprodução estável, menor uso da CPU e um desempenho fluido durante a transmissão de vídeo.
Exemplos de dispositivos: iPhone XS ou mais recentes (2018+), iPad Pro (qualquer geração), iPad Air 3 ou mais recentes, iPad mini 5 ou mais recentes.
Aprendendo a Construir
A melhor maneira de aprender a usar o SDK do OpenTok para iOS é seguir o tutorial “Bate-papo por vídeo básico do OpenTok”:
Depois de compreender os conceitos básicos do desenvolvimento com o SDK do OpenTok para iOS, você poderá obter informações mais detalhadas e aprender a personalizar seu aplicativo com o OpenTok guias para desenvolvedores. Para conhecer mais sobre classes e métodos específicos da API, consulte o Referência da API do SDK do OpenTok para iOS.
Como usar o SDK
O diretório OpenTok.framework contém o SDK do OpenTok para iOS.
O SDK do OpenTok para iOS requer os seguintes frameworks e bibliotecas:
- AudioToolbox.framework
- AVFoundation.framework
- CoreGraphics.framework
- CoreMedia.framework
- CoreTelephony.framework
- CoreVideo.framework
- Foundation.framework
- GLKit.framework
- libc++.dylib (libc++.tbd no Xcode 7+)
- libsqlite3.dylib (libsqlite3++.tbd no Xcode 7+)
- Metal.framework
- MetalKit.framework
- MetalPerformanceShaders.framework
- OpenGLES.framework
- QuartzCore.framework
- SystemConfiguration.framework
- UIKit.framework
- VideoToolbox.framework
O SDK do OpenTok para iOS faz ligação à biblioteca padrão libc++. Se outra biblioteca que faça ligação à biblioteca padrão libc++ tiver sido compilada em uma versão do Xcode anterior à 6.0.0, isso poderá resultar em erros de segmentação (segfaults) em tempo de execução ao utilizá-la com o SDK do OpenTok para iOS. As bibliotecas incompatíveis conhecidas incluem, entre outras, o Firebase (versões anteriores à 2.1.2 — consulte https://code.google.com/p/webrtc/issues/detail?id=3992) e o Google Maps (versões anteriores à 1.9.0). Para corrigir esse problema, baixe uma versão da outra biblioteca que tenha sido compilada usando o XCode 6.0.0 ou posterior.
Se você estiver usando uma versão do Xcode anterior à 7.2.0, não utilize o -all_load sinalizador do linker. Em vez disso, use o -force_load sinalizador do vinculador para carregar bibliotecas específicas que exijam isso.
Para acessar a câmera e o microfone, o iOS 10 exige que você defina os valores para o NSCameraUsageDescription e NSMicrophoneUsageDescription chaves no arquivo Info.plist. Elas definem as mensagens que aparecem no instalador do aplicativo para informar ao usuário por que seu aplicativo usa a câmera e o microfone. Para obter mais informações, consulte a documentação da Apple sobre as chaves do Cocoa.
Veja este conteúdo para obter informações sobre como usar o SDK em aplicativos em execução no modo de segundo plano.
Suporte ao macOS
O SDK do OpenTok para iOS 2.33.0+ é compatível com Macs com Apple Silicon (M1, M2, M3 e versões posteriores) que executem o macOS 14 ou versões posteriores. No macOS, o SDK oferece a maioria dos recursos disponíveis em dispositivos iOS, embora haja algumas diferenças e limitações específicas da plataforma que devem ser levadas em consideração.
Comportamento da câmera no macOS
Os dispositivos macOS geralmente possuem uma única câmera integrada (a câmera do FaceTime), que é sempre identificada como a câmera frontal (AVCaptureDevicePositionFront). As câmeras externas conectadas ao Mac também são consideradas câmeras frontais.
Considerações importantes:
- Ao contrário dos dispositivos iOS, os Macs não têm o conceito de “câmera traseira”
- O
cameraPositionessa propriedade sempre será atribuída à câmera frontal no macOS - Para alternar entre várias câmeras (por exemplo, integrada ou externa) no macOS, é possível implementar um capturador de vídeo personalizado. Para obter mais informações, consulte esta documentação.
Manuseio de rotação
Aviso: Os dispositivos macOS não oferecem suporte à rotação automática da orientação, como os dispositivos móveis iOS.
- Os vídeos são sempre publicados na orientação paisagem
- Os eventos de rotação do dispositivo não ocorrem no macOS
- Os aplicativos devem lidar com a orientação manualmente caso sejam necessários ajustes específicos no layout
Limitação da lanterna
Aviso: O recurso de lanterna da câmera não está disponível no macOS.
- Configurando o
cameraTorchpropriedade paraYESnão terá efeito no macOS - As câmeras do Mac (integradas ou externas) não oferecem suporte à funcionalidade de lanterna
- Esse recurso é exclusivo para dispositivos móveis iOS
Exemplos de código
Para ver exemplos de código, acesse nosso Repositório `vonage-video-ios-sdk-samples` no GitHub.
Documentação e mais informações
A documentação de referência está incluída no subdiretório “doc” do SDK e no Referência ao SDK local.
Para obter uma lista dos novos recursos e dos problemas conhecidos, consulte o notas de lançamento.