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

Menu

Expand
Classifique esta página:

Registro de alterações

Bem‐vindo ao SDK para iOS do Programmable Voice

Os SDKs do Twilio Programmable Voice permitem que você adicione chamadas de voz sobre IP (VoIP) aos seus aplicativos iOS nativos.

Para verificar se seu app está pronto para o iOS 14, visite esta página.

Aviso de compatibilidade do iOS 13

Aplicativos que usam as versões 2.0.x, 3.x e 4.x do SDK podem não conseguir se registrar para chamadas recebidas quando executados no iOS 13. Recomendamos que você atualize para o SDK 5.0 ou superior. Consulte este comunicado e este problema do GitHub para obter mais informações. Confira nossos guias de migração ao planejar sua mudança para nosso SDK mais recente.

Os SDKs do Twilio Programmable Voice usam Controle de versão semântica. O Twilio é compatível com a versão N-1 por 12 meses após o primeiro lançamento GA da versão N. Recomendamos que você atualize para a versão mais recente o mais rápido possível para evitar qualquer alteração. A versão 6.x é a mais recente do iOS.

O suporte ao 4.x foi encerrado em 19 de setembro de 2020. Atualize para a versão mais recente

O suporte ao 3.x foi encerrado em 28 de junho de 2020. Atualize para a versão mais recente

O suporte ao 2.x foi encerrado em 1 de janeiro de 2020. Atualize para a versão mais recente

O fim da vida útil para 1.x ocorrerá em 23 de março de 2021. Um período de manutenção de duas horas está planejado para 1.x às 9h, horário do Pacífico, em 26 de janeiro de 2021. Atualize para a versão mais recente. Consulte este aviso de EoL para obter mais detalhes.

6.4.2

11 de julho de 2022

  • SDK para iOS do Programmable Voice 6.4.2 [XCFramework] (checksum: caebcfde5540e6aefeab61edb5d131c55565eb72b690fc50e8201836f0c21735).

Atualizações da API

– A propriedade "gravável" da classe "TVOIceCandidatePairStats" foi renomeada para "gravável". – A nova edge (borda) "umatilla" agora tem suporte. Configure a propriedade "TwilioVoiceSDK.edge" antes de conectar ou aceitar a chamada.

Correção de bugs

– Corrigido um conflito de símbolos ("RTCNativeAudioSessionDelegateAdapter") ao usar o SDK lado a lado com outra biblioteca WebRTC.

Impacto de tamanho para 6.4.2

Arquitetura Tamanho compactado Tamanho não compactado
arm64 3,2 MB 7,0 MB

6.4.1

26 de maio de 2022

  • SDK para iOS do Programmable Voice 6.4.1 [XCFramework] (checksum: 16080af560c584f574d00c04af408e340253f814b583b7920a718d66ed5ea6dd ).

Correção de bugs

– Corrigida uma falha quando o especificador da região de origem ("twr") no access token (token de acesso) é "null".

Impacto de tamanho para 6.4.1

Arquitetura Tamanho compactado Tamanho não compactado
arm64 3,2 MB 7,0 MB

6.4.0

3 de maio de 2022

  • SDK para iOS do Programmable Voice 6.4.0 [XCFramework] (checksum: 5bb8ab2aa8f9f2e91d243e64c5e850cdc0c1365f4bfc64a37532b0688d118770).

Atualizações da API

– O SDK para iOS do Voice agora é compatível com o Twilio Regional, fornecendo o especificador da região de origem no cabeçalho do access token (token de acesso) ao chamar o método "TwilioVoiceSDK.register()", o método "TwilioVoiceSDK.unregister()" e o método "TwilioVoiceSDK.Connect()".

Os clientes existentes agora podem migrar os casos de uso do Voice para data centers na Irlanda ou na Austrália para estabelecer a residência de dados na região. Além disso, os novos clientes agora podem selecionar a Irlanda ou a Austrália como região de preferência para casos de uso relacionados ao Voice. Não há custo adicional para usar os novos data centers na Irlanda ou na Austrália. Para saber mais sobre o Voice regional, confira nossa publicação no blog ou acesse documentos do desenvolvedor para começar.

Exemplo de especificação da região inicial no access token (token de acesso) usando a biblioteca auxiliar Twilio Node.js:

const accessToken = new twilio.jwt.AccessToken(
    credentials.accountSid,
    credentials.apiKeySid,
    credentials.apiKeySecret, {
      identity,
      ttl,
      region: 'au1',
    },
  );

O cabeçalho decodificado do seu access token (token de acesso) deve ser assim:

{
  "alg": "HS256",
  "typ": "JWT",
  "cty": "twilio-fpa;v=1",
  "twr": "au1"
}

Maintenance

– API atualizada de "[TVOCall getStatsWithBlock:]".

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto de tamanho para 6.4.0

Arquitetura Tamanho compactado Tamanho não compactado
arm64 3,2 MB 7,0 MB

6.3.1

8 de fevereiro de 2022

  • SDK para iOS do Programmable Voice 6.3.1 [XCFramework] (checksum: 08e5839eb77d8746baff8b132059f0babfb9e1ed860903553b7d9c02411442af ).

Melhorias

– O SDK do Voice agora valida nomes de domínio remotos completos ao configurar a conexão TLS. – O SDK do Voice agora usa o valor de tempo limite máximo de 10 minutos para atender uma chamada recebida.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto de tamanho para 6.3.1

Arquitetura Tamanho compactado Tamanho não compactado
arm64 3,2 MB 7,0 MB

6.3.0

17 de maio de 2021

Melhorias

  • Esta versão é baseada no Chromium WebRTC 88. – A arquitetura do simulador "arm64" no Apple Silicon Macs agora está disponível. – O SDK usa semântica de Unified Plan SDP em vez de Plan-B.

Problemas conhecidos

– Carthage não é atualmente um mecanismo de distribuição compatível com o Twilio Voice. O Carthage não funciona atualmente com o ".xcframeworks" conforme documentado aqui. Depois que o Carthage for compatível com ".xcframeworks" binário, a distribuição do Carthage será adicionada novamente. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapte" durante o tempo de compilação.

Impacto de tamanho para 6.3.0

Arquitetura Tamanho compactado Tamanho não compactado
arm64 3,2 MB 7,1 MB

5.5.2

29 de março de 2021

Correção de bugs

– Corrigida uma possível falha no módulo principal em que o registrador poderia ser acessado depois de ser destruído por outra thread. No 419 – Corrigido um bug em que o autor da chamada não recebe o retorno de chamada "[TVOCallDelegate call:didDisconnectiWithError:]" quando o destinatário desliga. – Corrigido um bug em que o destinatário não recebe o retorno de chamada "[TVONotificationDelegate cancelledCallInviteReceived:error:]" quando ocorre um erro de conexão de sinalização.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.5.2

Arquitetura Tamanho do download do aplicativo Tamanho do armazenamento do aplicativo
Universal 3,0 MB 6,7 MB
arm64 3,0 MB 6,7 MB

6.2.2

11 de março de 2021

Correção de bugs

– Corrigido o número da versão do SDK no arquivo "Info.plist" da estrutura. – Corrigida uma possível falha no módulo principal onde o agente de registro poderia ser acessado depois de ser destruído por outra thread. No 419

Problemas conhecidos

  • O "TwilioVoice.xcframework" não é compatível atualmente com o simulador em Apple Silicon "arm64" Macs. – Carthage não é atualmente um mecanismo de distribuição suportado para o Twilio Voice. O Carthage não funciona atualmente com o ".xcframeworks" conforme documentado aqui. Depois que o Carthage for compatível com ".xcframeworks" binário, a distribuição do Carthage será adicionada novamente. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapte" durante o tempo de compilação.

Impacto de tamanho para 6.2.2

Arquitetura Tamanho compactado Tamanho não compactado
arm64 3,1 MB 7,0 MB

6.2.1

4 de fevereiro de 2021

Correção de bugs

– Versão da plataforma corrigida em podspecs.

Problemas conhecidos

– O "TwilioVoice.xcframework" não é compatível atualmente com o simulador em Apple Silicon "arm64" Macs. – Carthage não é atualmente um mecanismo de distribuição suportado para Twilio Voice. O Carthage não funciona atualmente com o ".xcframeworks" conforme documentado aqui. Depois que o Carthage for compatível com ".xcframeworks" binário, a distribuição do Carthage será adicionada novamente. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapte" durante o tempo de compilação.

Impacto de tamanho para 6.2.1

Arquitetura Tamanho compactado Tamanho não compactado
arm64 3,1 MB 7,0 MB

6.2.0

1o de fevereiro de 2021

Melhorias

– O SDK para iOS do Voice foi criado com o Xcode 12.0. – O Twilio Voice agora é oferecido como um ".xcframework". O pacote ".xcframework" inclui os arquivos ".dSYM" e ".bcsymbolmap" para permitir que os desenvolvedores simbolizem relatórios de falhas. – O Twilio Voice agora é distribuído como um Pacote Swift.

Problemas conhecidos

– O "TwilioVoice.xcframework" não é compatível atualmente com o simulador em Apple Silicon "arm64" Macs. – Carthage não é atualmente um mecanismo de distribuição suportado para Twilio Voice. O Carthage não funciona atualmente com o ".xcframeworks" conforme documentado aqui. Depois que o Carthage for compatível com ".xcframeworks" binário, a distribuição do Carthage será adicionada novamente. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapte" durante o tempo de compilação.

Impacto de tamanho para 6.2.0

Arquitetura Tamanho compactado Tamanho não compactado
arm64 3,1 MB 7,0 MB

6.1.0

7 de janeiro de 2021

Melhorias

– Os endereços IP privados são mascarados no modo de Liberação para os registros do SDK e a carga de eventos do Insights "ice‐candidate". – Os endereços IP privados não serão mascarados no modo "Debug". O evento "selected-ice-candidate-pair" conterá o endereço IP privado do candidato ICE ativo local para fins de depuração nos modos de Liberação e Depuração.

Correção de bugs

– Corrigido um bug em que o autor da chamada não recebe a chamada "call:didDisconnectWithError:" quando o destinatário desliga. – Corrigido um bug em que o destinatário não recebe a chamada "cancelledCallInviteReceived:error:" quando ocorre um erro de conexão de sinalização. - O SDK do Voice tinha o mesmo nome de estrutura "TwilioVoice" e o mesmo nome de classe. Isso estava causando erros rápidos de tempo de compilação quando um app tentava acessar uma classe de estrutura do TwilioVoice usando o nome do módulo, por exemplo, "TwilioVoice.ConnectOptions". Esses problemas foram corrigidos renomeando o nome da classe "TwilioVoice" para "TwilioVoiceSDK".

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 6.1.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 3,1 MB 6,9 MB
arm64 3,1 MB 6,9 MB

6.0.2

4 de novembro de 2020

Correção de bugs

– Erro de tempo de compilação do Swift corrigido para "AudioDeviceWorkerBlock".

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 6.0.2

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 3,1 MB 6,8 MB
arm64 3,1 MB 6,8 MB

6.0.1

2 de novembro de 2020

Correção de bugs

– Erro de tempo de compilação do Swift corrigido para "AudioDeviceContext".

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 6.0.1

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 3,1 MB 6,8 MB
arm64 3,1 MB 6,8 MB

6.0.0

15 de setembro de 2020

Alteração de API

– O SDK do Voice foi atualizado para uma melhor interoperabilidade do Swift. – O prefixo "TVO" foi removido de todos os tipos de Twilio Voice – Muitas das declarações de funções dos delegados foram reformuladas para uma maior clareza da intenção – Algumas das declarações de método de classe foram reformuladas para uma maior clareza da intenção

– Esta versão melhorou a API para integração do CallKit. Para usar o CallKit com SDK, você deve definir "ConnectOptions.uuid" ou "AcceptOptions.uuid" ao fazer ou atender uma chamada. Quando "ConnectOptions.uuid" ou "AcceptOptions.uuid" for definido, é da sua responsabilidade ativar e desativar o dispositivo de áudio. Você deve habilitar o dispositivo de áudio em "[CXProviderDelegate Provider:didActivateAudioSession:]" e desabilitar o dispositivo de áudio em "[CXProviderDelegate provider:didDeactivateAudioSession:]".

    func provider(_ provider: CXProvider, didActivate audioSession: AVAudioSession) {
      audioDevice.isEnabled = true
    }

    func provider(_ provider: CXProvider, didDeactivate audioSession: AVAudioSession) {
      audioDevice.isEnabled = false
    }

    func providerDidReset(_ provider: CXProvider) {
      audioDevice.isEnabled = false
    }

Se não estiver usando o CallKit no seu app, você não deverá definir "ConnectOptions.uuid" ou "AcceptOptions.uuid" ao efetuar ou atender uma chamada. O SDK do Voice habilitará o dispositivo de áudio para você quando o "uuid" for "nil".

  • A propriedade "uuid" da "TVOCall" agora é facultativa. – Esta versão altera o comportamento subjacente de "[TVOCallDelegate callDidConnect:]" de tal forma que é gerado quando o estado de conexão ICE é conectado e a negociação do DTLS é concluída. Anteriormente, "[TVOCallDelegate callDidConnect:]" era gerado quando a negociação de DTLS era concluída. – Nesta versão, o comando "[TVOCallDelegate callDidConnect:]" é gerado quando o estado de conexão ICE é conectado e a negociação do DTLS é concluída. Não há mudança de comportamento. No entanto, o SDK pode detectar falhas de DTLS e apontar o "kTVOMediaDtlsTransportFailedErrorCode" caso ocorra. – Novo código de erro definido
Códigos de erro ErrorCode Mensagem de erro
53407 TVOMediaDtlsTransportFailedErrorCode Falha na conexão de mídia devido à falha de handshake DTLS

– O estado PeerConnection agora é informado ao Insights

Grupo de eventos Nível Nome do evento Descrição
pc-connection-state DEPURAR novo Gerado quando o estado da conexão de mesmo nível é novo
pc-connection-state DEPURAR conectando Gerado quando o estado da conexão de mesmo nível é conectando
pc-connection-state DEPURAR conectado Gerado quando o estado da conexão de mesmo nível é conectado
pc-connection-state DEPURAR desconectado Gerado quando o estado da conexão de mesmo nível é desconectado
pc-connection-state ERRO erro Gerado quando o estado da conexão de mesmo nível apresenta erro
pc-connection-state DEPURAR fechado Gerado quando o estado da conexão de mesmo nível é fechado

– Removida a propriedade preterida "TwilioVoice.region". Use o "TwilioVoice.edge" para controlar a conectividade com o Twilio.

– O "[TwilioVoice registerWithAccessToken:deviceTokenData:completion:]" e o "[TwilioVoice unregisterWithAccessToken:deviceTokenData:completion:]" foram renomeados para substituir os métodos "[TwilioVoice registerWithAccessToken:deviceToken:completion:]" e "[TwilioVoice unregisterWithAccessToken:deviceToken:completion:]" e agora usam o token de dispositivo de tipo "NSData" como parâmetro.

Melhorias

– Esta versão é baseada no Chromium WebRTC 83. – O TwilioVoice.framework agora está construído com o Xcode 11.4.1 – Um novo evento do Insights "selected-ice-candidate-pair" é relatado com o candidato ICE local ativo e candidato ICE remoto.

Grupo de eventos Nível Nome do evento Descrição
ice-candidate DEPURAR selected-ice-candidate-pair Gerado quando são determinados os candidatos ICE locais e remotos ativos da conexão de mesmo nível

– Foi atualizado um algoritmo de cálculo "mos" para que este diminua monotonicamente com o aumento dos valores de "jitter" e "packets-lost-fraction" em uma gama de valores "rtt". O mos final deve estar sempre na faixa [1.0, 4.6].

Manutenção

– Adicionado um patch de segurança para evitar ataques de DNS candidatos ao host. Consulte Problema 11597 para obter detalhes.

Correção de bugs

– Corrigida uma falha ao processar relatórios de estatísticas vazios ou relatórios de estatísticas sem faixas de áudio remotas.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 6.0.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 3,1 MB 6,8 MB
arm64 3,1 MB 6,8 MB

5.5.1

15 de setembro de 2020

Correção de bugs

– Corrigido o tratamento da tarefa em segundo plano "[TVOCall disconnect]", "[TVOCallInvite reject]", "[TwilioVoice registerWithAccessToken:deviceTokenData:completion:]" e "[TwilioVoice unregisterWithAccessToken:deviceTokenData:completion:]". O iOS não deve mais relatar um aviso de risco encerramento de tarefa em segundo plano. – Corrigida uma falha ao processar relatórios de estatísticas vazios ou relatórios de estatísticas sem faixas de áudio remotas.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.5.1

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 2,9 MB 6,7 MB
arm64 2,9 MB 6,7 MB

5.5.0

9 de julho de 2020

Alteração de API

– Uma classe "TVOCallerInfo" é introduzida para representar informações sobre o autor da chamada. Atualmente, essas informações limitam‐se ao status de "SHAKEN/STIR" das chamadas RPTC recebidas, mas podem ser posteriormente expandidas de modo a incluir "CNAM" e outros tipos de endpoint. A propriedade "verified" indica se o número de telefone do autor da chamada foi verificado ou não pela Twilio por meio da validação "SHAKEN/STIR". O valor desse atributo é "true" se o autor da chamada tiver sido validado a nível "A", "false" se o autor da chamada tiver sido verificado a um nível inferior ou se tiver falhado na validação. Se a informação "SHAKEN/STIR" não estiver disponível para o autor da chamada ou se o valor do status stir for "null", a propriedade será "nil". Para obter detalhes sobre como a Twilio usa o "SHAKEN/STIR" para fazer chamadas confiáveis e proteger contra falsificação ilegal, visite https://www.twilio.com/docs/voice/trusted-calling-using-shakenstir.

– A nova propriedade "callerInfo" da "TVOCallInvite" retorna o objeto "TVOCallerInfo" para representar a informação sobre o autor da chamada.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.5.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 2,9 MB 6,7 MB
arm64 2,9 MB 6,7 MB

5.4.1

25 de junho de 2020

Correção de bugs

– Corrigida uma falha que poderia ocorrer ao destruir o objeto "TVOCall" ou "TVOCallInvite".

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.4.1

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 2,9 MB 6,7 MB
arm64 2,9 MB 6,7 MB

5.4.0

3 de junho de 2020

Alteração de API

– Esta versão inclui suporte para a expansão da infraestrutura Global da Twilio via Edge Locations (locais de borda), que permitem aos clientes controlar a conectividade dentro e fora da plataforma da Twilio. O SDK para iOS do Voice usa essas Edges (bordas) para se conectar à infraestrutura da Twilio por meio da nova propriedade "TwilioVoice.edge". Essa nova propriedade substitui a agora obsoleta "TwilioVoice.region". Consulte novos nomes de Edge (borda) e como eles são mapeados para os nomes de região antigos.

Aqui está um exemplo

  // Conectar utilizando baixa latência global
  TwilioVoice.edge = "roaming"

– Esta versão adiciona também a medição Mean Opinion Score (MOS) à "TVORemoteAudioTrackStats". Use "[TVOCall getStatsWithBlock:]" durante uma chamada para recuperar a pontuação. A "mos" é computada uma vez por segundo. Como a MOS é calculada a partir das medições de desempenho da rede, ele pode ser usado para indicar a condição atual da rede ao usuário para fornecer melhor usabilidade. Consulte Documentos da API para mais informações

Exemplo

  call.getStatsWith { (reports) in
      for report in reports {
          let remoteAudioTracksStats = report.remoteAudioTrackStats
          let mosLabel = "\(remoteAudioTracksStats.mos)"
      }
  }

Enhancements

– Os avisos de degradação da rede foram anteriormente registrados apenas em Insights. Com esta versão, um novo método "TVOCallDelegate" "call:didReceiveQualityWarnings:previousWarnings:" também é invocado quando o SDK detecta essas degradações. Use‐as para transmitir a condição da rede ao usuário para proporcionar uma melhor experiência. Consulte método de delegação e callQualityWarnings para obter mais informações.

  • O Mean Opinion Score (MOS) agora está disponível no "TVOStatsReport". Use "[TVOCall getStatsWithBlock:]" durante uma chamada para recuperar a pontuação. Como a MOS é calculada a partir das medições de desempenho da rede, ele pode ser usado para indicar a condição atual da rede ao usuário para fornecer melhor usabilidade.

– Por padrão, a coleta ICE é feita em todas as interfaces, exceto algumas interfaces do tipo VPN. Isso impossibilita a conexão com o Twilio em redes que exigem o uso de VPN. Nesta versão, a nova propriedade booleana "enableIceGatheringOnAnyAddressPorts" em "TVOCallOptionsBuilder" permite a coleta de candidatos ICE de todas as interfaces disponíveis. Isso deve ser usado nas redes em que o padrão não funciona. Consulte enableIceGatheringOnAnyAddressPorts para obter mais informações.

Descontinuações

– "TwilioVoice.region" agora está descontinuado. Use o "TwilioVoice.edge". Consulte novos nomes de Edge (borda) para obter os valores possíveis.

Correção de bugs

– Corrigido um bug em que o SDK ainda estava gerando o retorno de chamada "[TVOCallDelegate callDidStartRinging:]" se o comando "[TVOCall disconnect]" fosse chamado. – Corrigida uma falha causada por uma condição de corrida de sinalização quando o usuário rejeita "TVOCallInvite".

Outros

  • As versões "armv7" não estão mais disponíveis ou não são mais compatíveis.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.4.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 2,9 MB 7,0 MB
arm64 2,8 MB 6,9 MB

5.3.1

9 de abril de 2020

Melhorias

– "[TwilioVoice unregisterWithAccessToken:deviceTokenData:completion:]" otimizado ao reduzir o número de solicitações de rede. – Adicionado suporte de controle de segundo plano a "[TwilioVoice registerWithAccessToken:deviceTokenData:completion:]" e "[TwilioVoice unregisterWithAccessToken:deviceTokenData:completion:]". Agora, eles terminarão a execução mesmo quando o aplicativo estiver em segundo plano.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.3.1

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 6,0 MB 12,7 MB
arm64 2,8 MB 6,9 MB
armv7 3,0 MB 5,7 MB

5.3.0

18 de março de 2020

Alterações de API

– Foram adicionados novos métodos de registro e cancelamento de registro para notificações por push VoIP que dependem do "NSData" e não do "NSString". Os métodos de registro e cancelamento de registro anteriores foram descontinuados em favor desses novos métodos.

// TwilioVoice.h

+ (void)registerWithAccessToken:(nonnull NSString *)accessToken
                deviceTokenData:(nonnull NSData *)deviceTokenData
                     completion:(nullable void(^)(NSError * __nullable error))completion
NS_SWIFT_NAME(register(withAccessToken:deviceToken:completion:));

+ (void)unregisterWithAccessToken:(nonnull NSString *)accessToken
                  deviceTokenData:(nonnull NSData *)deviceTokenData
                       completion:(nullable void(^)(NSError * __nullable error))completion
NS_SWIFT_NAME(unregister(withAccessToken:deviceToken:completion:));

Swift example

  func pushRegistry(_ registry: PKPushRegistry, credenciais de didUpdate: PKPushCredentials, for type: PKPushType) {
      TwilioVoice.register(withAccessToken: accessToken, deviceToken: credentials.token) { (error) in
          if let error = error {
              NSLog("An error occurred while registering: \(error.localizedDescription)")
          } else {
              NSLog("Successfully registered for VoIP push notifications.")
          }
      }
  }

Objective-C example

- (void)pushRegistry:(PKPushRegistry *)registry 
didUpdatePushCredentials:(PKPushCredentials *)credentials 
             forType:(NSString *)type {
    [TwilioVoice registerWithAccessToken:accessToken
                         deviceTokenData:credentials.token
                              completion:^(NSError *error) {
        if (error) {
            NSLog(@"An error occurred while registering: %@", [error localizedDescription]);
        } else {
            NSLog(@"Successfully registered for VoIP push notifications.");
        }
    }];
}

Correção de bugs

– Dados corrigidos do Voice Insights com valor "transport_id" válido.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.3.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 6,0 MB 12,7 MB
arm64 2,8 MB 6,9 MB
armv7 3,0 MB 5,7 MB

5.2.1

11 de março de 2020

Correção de bugs

– Erros corrigidos de vinculadores de símbolos duplicados na biblioteca estática.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.2.1

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 6,0 MB 12,7 MB
arm64 2,8 MB 6,9 MB
armv7 3,0 MB 5,7 MB

5.2.0

27 de fevereiro de 2020

Melhorias

– As tentativas de restabelecer a conexão de mídia serão feitas de forma preventiva se nenhum fluxo de mídia for detectado por três segundos. – Uma chamada em andamento mudará automaticamente para um tipo de rede mais preferido se uma delas estiver disponível. Confira a seguir os tipos de rede listados na ordem de preferência: ETHERNET, LOOPBACK, WIFI, VPN e CELLULAR. Por exemplo, se uma rede Wi‐Fi ficar disponível durante uma chamada que esteja usando dados CELLULAR, a chamada automaticamente mudará para uso da rede Wi‐Fi. – Tipos de dados adequados são adicionados à carga de eventos do Insights.

Correção de bugs

– Corrigida uma falha quando um convite de chamada cancelada é recebido, mas o valor "from" é "nil".

Observações

– Uma vez que reconexão de mídia e sinalização são dois processos completamente separados, é provável que, para um único evento de mudança de rede, vários retornos de chamada "[TVOCallDelegate call:isReconnectingWithError:]" e "[TVOCallDelegate callDidReconnect:]" sejam recebidos na ordem especificada, ou seja, um retorno de chamada "[TVOCallDelegate call:isReconnectingWithError:]" será sempre seguido por um retorno de chamada "[TVOCallDelegate callDidReconnect:]".

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.2.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 6,0 MB 12,7 MB
arm64 2,8 MB 6,9 MB
armv7 3,0 MB 5,6 MB

5.1.2

24 de fevereiro de 2020

Correção de bugs

– Corrigida uma falha quando um convite de chamada cancelada é recebido e o valor "from" é "nil".

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.1.2

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 6,0 MB 12,6 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

5.1.1

9 de dezembro de 2019

Melhorias

– O nome do aplicativo, o ID do pacote, a versão, o número da compilação, a versão do Xcode e a versão secundária/principal do SDK agora são publicados no Insights. Isso ajuda a isolar problemas se um problema for encontrado.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.1.1

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 6,0 MB 12,6 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

5.1.0

19 de novembro de 2019

Melhorias

– Melhorias no tratamento de chamadas recebidas. Anteriormente, se encontrássemos problemas de rede antes de uma chamada recebida ser atendida ou rejeitada, nós desconectávamos a chamada. Com esta versão, continuaremos tentando estabelecer uma conexão com o Twilio por no máximo 40 segundos antes de desconectar a chamada. – Adicionamos suporte para OpenSSL 1.1.x na versão de biblioteca estática do nosso SDK. Para usar esse tipo de SDK, consulte as instruções incluídas na Biblioteca estática – Publicamos agora o codec negociado e seus parâmetros associados ao Insights.

Grupo de eventos Nível Nome do evento Descrição
Configurações INFO codec Gerado quando o codec foi selecionado

Outras melhorias

– Melhorou a forma como executamos a resolução de DNS. Anteriormente, algumas solicitações de DNS podiam bloquear indiretamente a thread principal. Esse não é mais o caso. – O nível de eventos de "listening‐error" foi incorretamente indicado como INFORMAÇÃO em vez de ERRO para "insights".

Descontinuado

– Suporte removido para a arquitetura i386 do iOS (Simulador iOS de 32 bits)

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.1.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,9 MB 12,6 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

5.0.0

19 de setembro de 2019

Suporte ao iOS 13 e Xcode 11

Esta versão adiciona suporte para a nova Política de notificações por push do PushKit que o iOS 13 e o Xcode 11 apresentaram. Para atualizar seu aplicativo, siga o guia de migração.

Insights

A fim de proporcionar capacidade de observação para cancelamentos de chamadas recebidas, foram adicionados os seguintes eventos do Insights:

Grupo de eventos Nome do evento Nível Descrição
"conexão" "escuta" "informações" Relatado na tentativa de ouvir os cancelamentos
"conexão" "ouvindo" "informação" Relatado quando uma tentativa de ouvir cancelamentos é bem‐sucedida
"conexão" "cancelar" "informação" Relatado quando um cancelamento é reportado
"conexão" "erro de escuta" "erro" Relatado quando uma tentativa de ouvir um cancelamento falha
"registro" "unsupported-cancel-message-error" "erro" Relatado quando uma notificação por push de "cancelamento" é processada pelo SDK. Esta versão do SDK não é compatível com notificações por push de "cancelamento"

API Changes (alterações de API)

– A partir de da versão 5.0.0, quando "[TwilioVoice registerWithAccessToken:deviceToken:completion:]" for chamado, o SDK Voice só registrará notificações por push de "call" (chamada) e convites de chamada cancelados serão determinados internamente pelo SDK. "[TwilioVoice handleNotification:delegate:delegateQueue:]" já não processa cargas de notificações por push "cancel" e retornará "false" se fornecido com uma notificação de cancelamento. – Uma notificação por push válida, quando transmitida para "[TwilioVoice handleNotification:delegate:delegateQueue:]", ainda resultará na geração de "TVOCallInvite" "[TVONotificationDelegate callInviteReceived:]". O "TVOCancelledCallInvite" será gerado de forma assíncrona através de "[TVONotificationDelegate cancelledCallInviteReceived:error:]" se ocorrer qualquer um dos seguintes eventos: – A chamada foi desconectada prematuramente pelo autor. – O destinatário não aceita ou rejeita a chamada em aproximadamente 30 segundos. - O SDK do Voice não consegue estabelecer uma conexão com o Twilio. Você deve manter o "TVOCallInvite" a ser notificado de um cancelamento através de "[TVONotificationDelegate cancelledCallInviteReceived:error:]". Um "TVOCancelledCallInvite" não será gerado se o convite for aceito ou rejeitado.

– "[TwilioVoice handleNotification:delegate:]" agora é "[TwilioVoice handleNotification:delegate:delegateQueue:]" – "delegateQueue": a fila de expedição em que é recebido o retorno de chamada "[TVONotificationDelegate cancelledCallInviteReceived:error:]". Em caso de passagem de "nil", será utilizada a fila principal de expedição. - Quando uma notificação de "call" é recebida, o SDK do Voice dispara o retorno de chamada "[TVONotificationDelegate callInviteReceived:]" de forma sincronizada. – No momento da recepção de uma notificação "cancel", o método retorna "false". – "[TVONotificationDelegate cancelledCallInviteReceived:]" agora é "[TVONotificationDelegate cancelledCallInviteReceived:error:]" – O "error" indica que a chamada foi cancelada devido a um erro. O "error.code" será definido como "TVOErrorCallCancelledError" se um autor cancelar a chamada antes que o destinatário possa atender a chamada.

– A propriedade "enableInsights" foi alterada para "insights" e transferida de "TVOCallOptions.h" para "TwilioVoice.h". – A propriedade "region" passou de "TVOCallOptions.h" para "TwilioVoice.h". Se você estiver especificando uma região por meio da propriedade de região "TwilioVoice.h", deve fazê‐lo antes que "[TwilioVoice connectWithAccessToken:delegate:]" ou "[TwilioVoice handleNotification:delegate:delegateQueue:]" seja chamado.

– O método de classe "[TVOCallInvite isValid:]" é adicionado ao "TVOCallInvite" para que os aplicativos validem se a carga de notificação é uma notificação de chamada válida enviada pelo Twilio. Uma carga de notificação válida resultará na devolução de um retorno de chamada "TVOCallInvite" através do retorno de chamada "[TVONotificationDelegate callInviteReceived:]" quando este for transmitido para o comando "[TwilioVoice handleNotification:delegate:delegateQueue:]".

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 5.0.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,9 MB 12,6 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

4.3.0

19 de agosto de 2019

Melhorias

API de marcação DSCP (Differentiated Services Code Point, ponto de código de serviços diferenciados)

A API de marcação DSCP (Differentiated Services Code Point) permite marcar os pacotes de áudio com EF (Expedited Forwarding, encaminhamento acelerado) para fins de melhor roteamento de pacotes. Quando ativada, as redes de suporte priorizarão a entrega de pacotes de áudio para melhorar a qualidade do áudio.

Use "enableDscp" para ativar ou desativar a marcação DSCP. Observe que o "enableDscp" é habilitado por padrão. Por exemplo:

// Configure DSCP with `TVOConnectOptions`
let connectOptions = TVOConnectOptions(accessToken: accessToken) { (builder) in
    builder.enableDscp = true
}

let call = TwilioVoice.connect(with: connectOptions, delegate: callDelegate)
// Configure DSCP with `TVOAcceptOptions`
let acceptOptions = TVOAcceptOptions(accessToken: accessToken) { (builder) in
    builder.enableDscp = true
}

let call = callInvite.accept(with: acceptOptions, delegate: callDelegate)

Para obter mais informações, consulte os documentos.

Problemas conhecidos

– Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolo "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 4.3.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,9 MB 12,4 MB
arm64 2,8 MB 6,7 MB
armv7 3,0 MB 5,5 MB

4.2.1

8 de agosto de 2019

Esta versão inclui alterações na forma como a biblioteca estática "libTwilioVoice.a" é construída e empacotada. A "libTwilioVoice.a" agora contém todas as dependências das bibliotecas estáticas. Use o "-lTwilioVoice" na configuração Other Linker Flags para vincular o SDK. BoringSSL não é empacotado como um artefato separado.

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 4.2.1

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,9 MB 12,4 MB
arm64 2,7 MB 6,7 MB
armv7 3,0 MB 5,5 MB

4.2.0

7 de agosto de 2019

Melhorias

Parâmetros personalizados em Notificação de chamada cancelada

Agora você pode recuperar os parâmetros personalizados definidos no seu aplicativo TwilML a partir do "TVOCancelledCallInvite". Com essa adição, você pode, por exemplo, exibir uma notificação de chamada perdida com o nome de exibição do autor da chamada recuperado do "TVOCancelledCallInvite" "customParameters".

Para obter mais informações, consulte os documentos da API

Pass custom parameters in TwiML

  <?xml version="1.0" encoding="UTF-8"?>
  <Response>
    <Dial callerId="client:alice">
      <Client>
        <Identity>bob</Identity>
        <Parameter name="caller_first_name" value="alice" />
        <Parameter name="caller_last_name" value="smith" />
      </Client>
    </Dial>
  </Response>

cancelledCallInvite.customParameters:

  {
    "caller_first_name" = "alice";
    "caller_last_name" = "smith";
  }

Known Issues

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 4.2.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,9 MB 12,4 MB
arm64 2,7 MB 6,7 MB
armv7 3,0 MB 5,5 MB

4.1.0

15 de julho de 2019

Novos recursos

API de largura de banda média máxima

Por padrão, o codec Opus é configurado com uma taxa de transmissão de cerca de 32 kbps (de 40 a 50 kbps no fio). Com esta versão, você pode definir uma taxa de bits média máxima personalizada para controlar melhor a largura de banda que o aplicativo VoIP deve usar. Consulte a seção 7.1 do RFC-7587 para obter informações sobre a Taxa de bits média máxima.

O principal objetivo desta API é definir uma taxa de bits média máxima mais baixa para minimizar o uso da largura de banda. Isso é particularmente útil em implantações em que a largura de banda é muito importante. Quando a largura de banda não é motivo de preocupação, não é necessário usar essa API.

A Taxa de bits média máxima pode ser definida de 6.000 bps e até 51.000 bps. Os valores fora deste intervalo são ignorados e é utilizado o modo de operação padrão do Opus. Consulte os documentos da API para obter mais informações.

Como esperado, a redução da taxa de bits média máxima afeta a qualidade do áudio. Não recomendamos definir da taxa de bits média máxima para um valor abaixo de 8.000 bps. Por outro lado, definir valores acima de 32.000 bps traz melhorias insignificantes na qualidade do áudio.

Por exemplo, para definir uma nova taxa de bits média máxima para 16.000 bps:

let connectOptions = TVOConnectOptions(accessToken: accessToken) { (builder) in
    builder.params = params
    builder.preferredAudioCodecs = [TVOOpusCodec(maxAverageBitrate: 16000)]
}

let call = TwilioVoice.connect(with: connectOptions, delegate: callDelegate)

Other Enhancements

  • Programmable Voice iOS SDK transmite dados para chamadas VoIP e para Insights. Com esta versão, reduzimos o consumo de dados relacionados ao Insights em cerca de 25%. Isso foi feito reduzindo o intervalo de geração de relatórios de eventos. – CLIENT-6358 O SDK agora comunica eventos "ice‐candidate" ao Insights. Esses eventos são gerados quando o "OnIceCandidate" é chamado no "PeerConnection".

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 4.1.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,9 MB 12,4 MB
arm64 2,7 MB 6,7 MB
armv7 3,0 MB 5,5 MB

4.0.0

28 de junho de 2019

Novos recursos

Estado de reconexão da API

Esta versão apresenta a nova "API Reconnecting State". Esta API acrescenta um novo estado "TVOCallStateReconnecting" ao "TVOCallState" e dois novos métodos opcionais "TVOCallDelegate", "call:isReconnectingWithError:" e "callDidReconnect:".

O recurso de reconexão de chamadas está disponível desde o SDK 3.0. Por exemplo, se uma chamada for estabelecida em uma rede Wi‐Fi e a rede Wi‐Fi ficar indisponível, o SDK alternará automaticamente a chamada para a próxima rede disponível.

Esta versão adiciona os retornos de chamada relacionados à reconexão. "call:isReconnectingWithError:" é invocado para indicar que uma chamada está sendo reconectada devido a uma interrupção da rede ou a uma comutação de rede, e "callDidReconnect:" é chamado quando a chamada é reconectada. Você pode usar essas informações para fornecer feedback intuitivo ao usuário do aplicativo quando uma reconexão estiver ocorrendo.

Melhorias

A transmissão de um destinatário de chamada malformado para [TwilioVoice connectWithAccessToken:] ou [TwilioVoice connectWithOptions:delegate:] agora resultará em "TVOErrorAddressIncompleteError"

Guia de migração

A migração do 3.x é muito simples. Consulte nosso guia de migração para obter mais informações.

Problemas conhecidos

– As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Impacto do tamanho para 4.0.0

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,7 MB 6,7 MB
armv7 2,9 MB 5,5 MB

3.1.1

6 de junho de 2019

Correção de bugs

– CLIENT-6220 Corrigido um problema em que uma exceção "NSInvalidArgumentException" é gerada durante a conexão de uma chamada. No 13

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.1.0

16 de maio de 2019

Melhorias

Códigos de erro melhorados

Agora, apresentamos mais detalhes sobre erros encontrados durante [TwilioVoice registerWithAccessToken:deviceToken:completion:], [TwilioVoice unregisterWithAccessToken:deviceToken:completion:], [TwilioVoice connectWithOptions:delegate:], and [TVOCallInvite acceptWithOptions:delegate:]. Anteriormente, essas funções reportavam esses erros com o erro genérico "TVOErrorRegistrationError" ou "TVOErrorConnectionError".

Com os novos códigos de erro, você pode tomar decisões mais informadas sobre como solucionar o problema. Por exemplo, TVOErrorBadRequestError e TVOErrorTooManyRequestsError indicam possíveis problemas de programação, enquanto TVOErrorTokenAuthenticationRejected indica um problema com seu access token (token de acesso).

Observe que talvez seja necessário alterar seu código se você tiver adicionado tratamento especial para "TVOErrorRegistrationError" ou "TVOErrorConnectionError".

Para obter mais informações, consulte os documentos da API

Confira a seguir um resumo dos novos códigos disponíveis para [TwilioVoice registerWithAccessToken:deviceToken:completion:], [TwilioVoice unregisterWithAccessToken:deviceToken:completion:]:

Código de erro Valor Mensagem de erro
TVOErrorBadRequestError 31400 Solicitação incorreta
TVOErrorForbiddenError 31403 Proibido
TVOErrorNotFoundError 31404 Não encontrado
TVOErrorRequestTimeoutError 31408 Tempo limite da solicitação
TVOErrorConflictError 31409 Conflito
TVOErrorUpgradeRequiredError 31426 Atualização necessária. Isso provavelmente está relacionado a uma versão TLS não aceita pela infraestrutura do Twilio
TVOErrorTooManyRequestsError 31429 Muitas solicitações
TVOErrorInternalServerError 31500 Erro interno do servidor
TVOErrorBadGatewayError 31502 Gateway ruim
TVOErrorServiceUnavailableError 31503 Serviço indisponível
TVOErrorGatewayTimeoutError 31504 Tempo limite do gateway

Confira a seguir está um resumo dos novos códigos disponíveis para "[TwilioVoice connectWithOptions:delegate:]" e "[TVOCallInvite acceptWithOptions:delegate:]":

Código de erro Valor Mensagem de erro
TVOErrorTransportError 31009 Erro de transporte
TVOErrorBadRequestError 31400 Solicitação ruim
TVOErrorForbiddenError 31403 Proibido
TVOErrorNotFoundError 31404 Não encontrado
TVOErrorRequestTimeoutError 31408 Tempo limite da solicitação
TVOErrorTemporarilyUnavailableError 31480 Indisponível temporariamente
TVOErrorCallDoesNotExistError 31481 Chamada/Transação não existe
TVOErrorBusyHereError 31486 Ocupado aqui
TVOErrorRequestTerminatedError 31487 Solicitação encerrada
TVOErrorInternalServerError 31500 Servidor interno
TVOErrorBadGatewayError 31502 Gateway ruim
TVOErrorServiceUnavailableError 31503 Serviço indisponível
TVOErrorGatewayTimeoutError 31504 Tempo limite do gateway
TVOErrorDNSResolutionError 31530 Erro de resolução de DNS
TVOErrorBusyEverywhereError 31600 Ocupado em todo lugar
TVOErrorDeclineError 31603 Recusar
TVOErrorDoesNotExistAnywhereError 31604 Não existe em lugar algum

Problemas conhecidos

– CLIENT-4943 Redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos via "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0

25 de abril de 2019

Promovemos a "3.0.0-beta13" para "3.0.0". Consulte nosso guia de migração para atualizar seus aplicativos para 3.0.

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,3 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta13

18 de abril de 2019

Correção de bugs

– CLIENT-5982 Corrigido um erro em que avisos de qualidade de chamada podem ser enviados para o Insights várias vezes antes que o aviso seja apagado.

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,3 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta12

17 de abril de 2019

Melhorias

– CLIENT-5973 "TVOErrorConnectionTimeoutError", "TVOErrorSignalingConnectionError", "TVOErrorSignalingConnectionTimeoutError", "TVOErrorSignalingIncomingMessageInvalidError", "TVOErrorSignalingOutgoingMessageInvalidError", "TVOErrorConfigurationAcquireFailedError" e "TVOErrorConfigurationAcquireTurnFailedError" removidos de "TVOError.h".

Correção de bugs

– CLIENT-5935 Corrigido um bug em que eventos de aviso de nível de áudio constante estão sendo enviados ao Insights quando a chamada é silenciada ou colocada em espera. – CLIENT-5969 Renomeado "kDefaultAVAudioSessionConfigurationBlock" como "kTVODefaultAVAudioSessionConfigurationBlock" de modo que "TwilioVoice.framework" e "TwilioVideo.framework" possam ser usados no mesmo aplicativo. – CLIENT-5977 Corrigido um erro em que o SDK enviava valores duplos para "packets_lost_fraction" para o Insights em vez de um número inteiro.

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,3 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta11

4 de abril de 2019

Melhorias

– CLIENT-5379 Adicionado o monitoramento de alcance da rede para o soquete de sinalização para uma detecção confiável de alterações na rede.

Correção de bugs

– CLIENT-5379 Corrigido um bug em que a transferência de rede Wi‐Fi para Wi‐Fi estava causando áudio unidirecional seguido de desconexão de chamada.

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta10

2 de abril de 2019

Correção de bugs

– CLIENT-5828, CLIENT-5868 Uma alteração de rede que ocorre durante uma reconexão agora acionará outra tentativa de reconexão, garantindo que a mídia seja restaurada na rede correta. – CLIENT-5882 As informações sobre métricas de chamadas estarão sempre disponíveis após uma transferência de rede quando a chamada estiver no estado "TVOCallStateConnected".

Problemas conhecidos

– CLIENT-5576 LTE –> O Wi‐Fi pode causar áudio unidirecional. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório do tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta9

27 de março de 2019

Melhorias

– CLIENT-5806 CLIENT-5807 Atualizada a documentação da API para "[TVOCallInvite acceptWithDelegate:]" e "[TVOCallInvite acceptWithOptions:delegate:]". – CLIENT-5810 Atualizada a documentação da API para "TVOCall".

Alterações da API

  • Tentativas de realizar uma chamada via "[TwilioVoice connectWithDelegate:]" ou "[TVOCallInvite acceptWithDelegate:]" que falhem antes de chegar ao estado "TVOCallStateConnected" resultarão sempre no retorno de chamada "call:didFailToConnectWithError:" com um código de erro. No entanto, se "[TVOCall disconnect]" for chamado enquanto for feita uma tentativa de realizar ou aceitar uma chamada, o retorno de chamada "call:didDisconnectWithError:" será gerado sem erros.

Correção de bugs

– CLIENT-5813 Cenários de perda de rede que resultaram em uma falha de chamada agora geram o retorno de chamada "call:didFailToConnectWithError:". Anteriormente, esses cenários geravam erroneamente "call:didDisconnectWithError:". – CLIENT-5754 Uma chamada que falha como resultado do não estabelecimento de uma conexão de mídia antes de ser conectada agora gera o retorno de chamada "call:didFailToConnectWithError:". Anteriormente, esse cenário erroneamente gerava "call:didDisconnectWithError:". – CLIENT-5821 O valor "packets_lost_fraction" informado ao Insights é corretamente calculado e está dentro do intervalo esperado de 0 a 100. – CLIENT-5835 Os eventos foram erroneamente reportados ao Insights quando a propriedade "TVOConnectOptions.enableInsights" foi definida como falsa.

Problemas conhecidos

– CLIENT-5576 LTE –> O Wi‐Fi pode causar áudio unidirecional. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. – CLIENT-5882 Os insights sobre métricas de chamadas tornam‐se indisponíveis após a entrega de uma rede durante uma chamada. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta8

20 de março de 2019

Correção de bugs

– CLIENT-5796 Corrigiu um problema em que o carimbo de data/hora em milissegundos na carga de eventos do Insights sobrecarrega em dispositivos de arquitetura de 32 bits. – CLIENT-5830 Removidos os scripts do "TwilioVoice.framework" que poderiam causar o problema de assinatura de código ao carregar aplicativos para o iTunes Connect.

Problemas conhecidos

– CLIENT-5576 LTE –> O Wi‐Fi pode causar áudio unidirecional. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede. – CLIENT-5821 O valor "packets_lost_fraction" informado ao Insights é incorretamente calculado e está dentro do intervalo esperado de 0 a 100. – CLIENT-5835 Os eventos foram erroneamente reportados ao Insights quando a propriedade "TVOConnectOptions.enableInsights" foi definida como falsa. – CLIENT-5882 As informações sobre métricas de chamadas tornam‐se indisponíveis após a entrega de uma rede durante uma chamada. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório do tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta7

19 de março de 2019

Alterações de API

– A propriedade "from" de "TVOCallInvite" e os objetos "TVOCancelledCallInvite" agora são "nullable" no caso de o valor não estar disponível na notificação de convite à chamada.

Correção de bugs

– CLIENT-5801 Corrigido um problema em que um convite de chamada recebida que não continha um campo "de" não era considerado uma notificação válida.

Problemas conhecidos

– CLIENT-5830 Apps que usam "3.0.0-beta7" podem ter problema de assinatura de código ao fazer upload para o iTunes Connect devido a alguns scripts de desenvolvimento incluídos no "TwilioVoice.framework". – CLIENT-5576 LTE –> Wi‐Fi pode causar áudio unidirecional. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede. – CLIENT-5821 O valor "packets_lost_fraction" informado ao Insights é incorretamente calculado e está dentro do intervalo esperado de 0 a 100. – CLIENT-5835 Os eventos foram erroneamente reportados ao Insights quando a propriedade "TVOConnectOptions.enableInsights" foi definida como falsa. – CLIENT-5882 As informações sobre métricas de chamadas tornam‐se indisponíveis após a entrega de uma rede durante uma chamada. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta6

14 de março de 2019

Melhorias

– CLIENT-5258 Reduzido o tamanho do SDK ao desmontar codecs de software de vídeo. – CLIENT-5353 Reduzido o tamanho do SDK ao desmembrar canais de dados SCTP.

Problemas conhecidos

– CLIENT-5830 Apps que usam "3.0.0-beta6" podem ter problema de assinatura de código ao fazer upload para o iTunes Connect devido a alguns scripts de desenvolvimento incluídos no "TwilioVoice.framework". – CLIENT-5576 LTE –> Wi‐Fi pode causar áudio unidirecional. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede. – CLIENT-5821 O valor "packets_lost_fraction" informado ao Insights é incorretamente calculado e está dentro do intervalo esperado de 0 a 100. – CLIENT-5835 Os eventos foram erroneamente reportados ao Insights quando a propriedade "TVOConnectOptions.enableInsights" foi definida como falsa. – CLIENT-5882 As informações sobre métricas de chamadas tornam‐se indisponíveis após a entrega de uma rede durante uma chamada. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 5,8 MB 12,4 MB
arm64 2,8 MB 6,8 MB
armv7 3,0 MB 5,6 MB

3.0.0-beta5

4 de março de 2019

Melhorias

– CLIENT-5678 O relatório de impacto do tamanho agora inclui as arquiteturas armv7 e arm64. – A biblioteca "libboringssl.a" agora está separada e é expedida com a biblioteca estática "libTwilioVoice.a". Adicionar "-lboringssl" em Other Linker Flags para vincular o SDK adequadamente.

Correção de bugs

– CLIENT-5664 A biblioteca estática "libTwilioVoice.a" agora está adequadamente vinculada às dependências.

Problemas conhecidos

– CLIENT-5830 Apps que usam "3.0.0-beta5" podem ter problema de assinatura de código ao fazer upload para o iTunes Connect devido a alguns scripts de desenvolvimento incluídos no "TwilioVoice.framework". – CLIENT-5576 LTE –> Wi‐Fi pode causar áudio unidirecional. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede do Twilio. – CLIENT-4805 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-5821 O valor "packets_lost_fraction" informado ao Insights é incorretamente calculado e está dentro do intervalo esperado de 0 a 100. – CLIENT-5835 Os eventos foram erroneamente reportados ao Insights quando a propriedade "TVOConnectOptions.enableInsights" foi definida como falsa. – CLIENT-5882 As informações sobre métricas de chamadas ficam indisponíveis após a entrega de uma rede durante uma chamada. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 6,4 MB 13,4 MB
arm64 3,1 MB 7,4 MB
armv7 3,3 MB 6,1 MB

3.0.0-beta4

14 de fevereiro de 2019

Alterações da API

  • "TVOCallFeedbackScoreNoScore" é substituído por "TVOCallFeedbackScoreNotReported".

Problemas conhecidos

– CLIENT-5576 LTE –> O Wi‐Fi pode causar áudio unidirecional. – CLIENT-5578 A entrega do Wi‐Fi para Wi‐Fi pode desconectar a chamada. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede do Twilio. – CLIENT-4805 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-5821 O valor "packets_lost_fraction" informado ao Insights é incorretamente calculado e está dentro do intervalo esperado de 0 a 100. – CLIENT-5835 Os eventos foram erroneamente reportados ao Insights quando a propriedade "TVOConnectOptions.enableInsights" foi definida como falsa. – CLIENT-5882 As informações sobre métricas de chamadas ficam indisponíveis após a entrega de uma rede durante uma chamada. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 6,4 MB 13,4 MB
arm64 3,1 MB 7,3 MB
armv7 3,3 MB 6,0 MB

3.0.0-beta3

7 de fevereiro de 2019

Melhorias

– O Voice SDK publica insights de chamada. A publicação é ativada por padrão. A preferência pode ser atualizada configurando "TVOCallOptions.enableInsights". – CLIENT-5595 Adicionado "TVOErrorTokenAuthenticationRejected (51007)". Este erro é gerado ao tentar realizar o registro ou cancelar o registro com um token inválido. - Adicionado o método "[TVOCall postFeedback:issue:]" ao "TVOCall", que envia o feedback recolhido desta chamada para a Twilio. Se "TVOCallFeedbackScoreNoScore" e "TVOCallFeedbackIssueNotReported" forem aprovados, o Twilio informará que o feedback não estava disponível para esta chamada. – CLIENT-2985 O SDK pode se conectar aos servidores do Twilio em um ambiente IPv6. – CLIENT-4998 A chamada continuará após a transferência da rede.

Correção de bugs

  • CLIENT-5573 Corrigida uma falha que ocorria quando um cliente emitia uma desconexão enquanto já processava uma solicitação de encerramento do servidor.

Problemas conhecidos

– CLIENT-5576 LTE –> O Wi‐Fi pode causar áudio unidirecional. – CLIENT-5578 A entrega do Wi‐Fi para Wi‐Fi pode desconectar a chamada. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede do Twilio. – CLIENT-4805 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-5821 O valor "packets_lost_fraction" informado ao Insights é incorretamente calculado e está dentro do intervalo esperado de 0 a 100. – CLIENT-5835 Os eventos foram erroneamente reportados ao Insights quando a propriedade "TVOConnectOptions.enableInsights" foi definida como falsa. – CLIENT-5882 As informações sobre métricas de chamadas ficam indisponíveis após a entrega de uma rede durante uma chamada. – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 3,1 MB 7,3 MB
arm64 3,1 MB 7,3 MB

3.0.0-beta2

13 de dezembro de 2018

Melhorias

– Adicionada uma propriedade "preferredAudioCodecs" a "TVOCallOptions". O suporte a "Opus" é adicionado ao SDK do Voice, mas ainda não pode ser ativado na infraestrutura do Twilio. Será notificado aos usuários do SDK do Voice quando o codec "Opus" estiver ativado na infraestrutura do Twilio. – Adição do novo código de erro "31008". Esse erro é gerado quando um "TVOCallInvite" é aceito após o término da chamada.

Correção de bugs

– CLIENT-5398 Ativar o som de uma chamada em espera faz com que o áudio flua.

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede do Twilio. – CLIENT-4805 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-4998 A transferência de rede e a renegociação subsequente da conexão não são suportadas. – CLIENT-2985 IPv6 não é suportado. – CLIENT-4547 Insights não é publicado. – CLIENT-4537 PCMU é o único codec suportado. Planejamos adicionar suporte para a Opus daqui para frente. No 117 – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

Relatório de tamanho

Arquitetura Tamanho do download do app Tamanho do armazenamento do app
Universal 3,1 MB 7,2 MB
arm64 3,1 MB 7,2 MB

3.0.0-beta1

26 de novembro de 2018

Melhorias

– Adicionados códigos de erro relacionados a mídia e sinalização.

Problemas conhecidos

– CLIENT-4943 As redes restritivas podem falhar, a menos que os servidores ICE sejam fornecidos através do "TVOConnectOptions" ou do "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede do Twilio. – CLIENT-5258 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-4998 A transferência de rede e a renegociação subsequente da conexão não são suportadas. – CLIENT-2985 IPv6 não é suportado. – CLIENT-4547 Insights não é publicado. – CLIENT-4537 PCMU é o único codec suportado. Planejamos adicionar suporte para a Opus daqui para frente. No 117 – CLIENT-5398 Ativar o som de uma chamada em espera faz com que o áudio flua. - O uso do SDK para iOS do Voice lada a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.


3.0.0-preview5

24 de outubro de 2018

Correção de bugs

– CLIENT-5186 Corrigida uma falha quando a rede é perdida durante uma chamada ativa. – CLIENT-5132 O método delegado "call:didDisconnectWithError:" do autor da chamada deve ser chamado com erro "nil" em vez de "call:didFailToConnectWithError:" quando o "TVOCallInvite" é rejeitado com "answerOnBridge" ativado. – CLIENT-4837 Corrigida uma falha causada por SIGPIPE quando um soquete de sinalização é fechado devido a um erro.

Problemas conhecidos

– CLIENT-5059 As chamadas feitas para um cliente ou número RPTC que têm uma longa duração antes de atender podem não ser conectadas. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede do Twilio. – CLIENT-5258 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-4998 A transferência de rede e a renegociação subsequente da conexão não são suportadas. – CLIENT-2985 IPv6 não é suportado. – CLIENT-4547 O Insights não é publicado. – CLIENT-4672 CLIENT-4673 Os códigos de erro 20157 e 20151 reportam mensagens e textos explicativos diferentes dos SDKs do Voice 2.0. – CLIENT-4537 PCMU é o único codec suportado. Planejamos adicionar suporte para a Opus daqui para frente. No 117 – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.


3.0.0-preview4

2 de outubro de 2018

Melhorias

– Propriedade "customParameters" adicionada ao "TVOCallInvite".

Transmitir parâmetros personalizados em TwiML

  <?xml version="1.0" encoding="UTF-8"?>
  <Response>
    <Dial callerId="client:alice">
      <Client>
        <Identity>bob</Identity>
        <Parameter name="caller_first_name" value="alice" />
        <Parameter name="caller_last_name" value="smith" />
      </Client>
    </Dial>
  </Response>

callInvite.customParameters:

  {
    "caller_first_name" = "alice";
    "caller_last_name" = "smith";
  }

Correção de bugs

– CLIENT-5202 Corrigida uma possível falha causada por uma corrupção de memória quando uma "TVOAudioDevice" personalizada é criada. – CLIENT-5160 O SDK do Voice é construído usando a variante de áudio do WebRTC 67. Os desenvolvedores não precisam mais adicionar a chave "NSCameraUsageDescription" ao Info.plist do aplicativo para consumir o SDK do Voice em um aplicativo e fazer upload dele na App Store. No 164 - CLIENT-5204 O áudio da chamada não conseguiu se recuperar das interrupções do "AVAudioSession". "TVOAVAudioSessionConfigurationBlock" agora configura "AVAudioSession.preferredIOBufferDuration" para 20 milissegundos por padrão para corresponder às alterações no WebRTC.

Problemas conhecidos

– CLIENT-5059 As chamadas feitas para um número RPTC podem não ser conectadas quando o "answerOnBridge" é definido como verdadeiro. - CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE através de "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede do Twilio. – CLIENT-5258 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-4998 A transferência de rede e a renegociação subsequente da conexão não são suportadas. – CLIENT-2985 IPv6 não é suportado. – CLIENT-4547 O Insights não é publicado. – CLIENT-4672 CLIENT-4673 Os códigos de erro 20157 e 20151 reportam mensagens e textos explicativos diferentes dos SDKs do Voice 2.0. – CLIENT-4537 PCMU é o único codec suportado. Planejamos adicionar suporte para a Opus daqui para frente. No 117 – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.


3.0.0-preview3

12 de setembro de 2018

Correção de bugs

– CLIENT-5101 O "inject_credentials.sh" que foi acidentalmente incluído no pacote "TwilioVoice.framework" foi removido.

Melhorias

– Esta versão é baseada no Chromium WebRTC 67. – Fornecer um mecanismo sem estado para processar notificações por push relacionadas a convites de chamadas e cancelamentos de convites de chamadas. O "[TwilioVoice handleNotification:]" não gera mais erros através do método "notificationError:" ao processar notificações inválidas. Em vez disso, é devolvido um valor "BOOL" quando é chamado. O valor booleano é "YES" quando a carga de notificação fornecida resulta em um objeto "TVOCallInvite" ou "TVOCancelledCallInvite". Se "[TwilioVoice handleNotification:]" retornar "NO", significa que nenhum dos dados fornecidos eram uma notificação por push do Twilio. A "TVOCallInvite" tem um método "accept()" e um método "reject()". Embora o "TVOCancelledCallInvite" forneça apenas os campos "to", "from" e "callSid", também disponíveis no objeto "TVOCallInvite". O "callSid" pode ser utilizado para associar um "TVOCallInvite" a um "TVOCancelledCallInvite". – O "notificationError:" é retirado do protocolo "TVONotificationDelegate". "cancelledCallInviteReceived:" é adicionado para que o SDK notifique o aplicativo quando uma notificação de cancelamento de chamada for recebida.

Processamento de notificações por push em 2.X

- (void)pushRegistry:(PKPushRegistry *)registry
        didReceiveIncomingPushWithPayload:(PKPushPayload *)payload
             forType:(NSString *)type {
    [TwilioVoice handleNotification:payload.dictionaryPayload delegate:self];
}

#pragma mark - TVONotificationDelegate

- (void)callInviteReceived:(TVOCallInvite *)callInvite {
    if (callInvite.state == TVOCallInviteStatePending) {
        [self handleCallInviteReceived:callInvite];
    } else if (callInvite.state == TVOCallInviteStateCanceled) {
        [self handleCallInviteCanceled:callInvite];
    }
}

- (void)notificationError:(NSError *)error {
    NSLog(@"Falha no processamento da carga de notificação: %@", error);
}

- (void)handleCallInviteReceived:(TVOCallInvite *)callInvite {
    // Call invite received
}

- (void)handleCallInviteCanceled:(TVOCallInvite *)callInvite {
    // Call invite canceled
}

Processing push notifications in 3.X

- (void)pushRegistry:(PKPushRegistry *)registry
        didReceiveIncomingPushWithPayload:(PKPushPayload *)payload
             forType:(NSString *)type {
    BOOL result = [TwilioVoice handleNotification:payload.dictionaryPayload delegate:self];
    if (!result) {
        NSLog(@"The processed data was not a Twilio push notification payload");
    }
}

#pragma mark - TVONotificationDelegate

- (void)callInviteReceived:(TVOCallInvite *)callInvite {
    // Call invite received
}

- (void)cancelledCallInviteReceived:(TVOCancelledCallInvite *)cancelledCallInvite {
    // Call invite cancelled
}

Alterações da API

– Descontinuadas as propriedades "TVOAudioOptions.levelControl" e "TVOAudioOptions.levelControlInitialPeakLevelDBFS" uma vez que já não são suportadas no Chromium WebRTC 67.

Problemas conhecidos

– CLIENT-5121 Os aplicativos que usam o "3.0.0-preview3" podem precisar incluir a chave "NSCameraUsageDescription" e a string de finalidade em seu "Info.plist" para enviar o aplicativo para a App Store. O WebRTC usado pelo SDK do Twilio Voice está usando APIs de câmera. Estamos trabalhando na criação do SDK do Voice com a variante somente de áudio do WebRTC, em que essa solução alternativa não será necessária. No 163 – CLIENT-5059 As chamadas feitas para um cliente ou número RPTC que têm uma longa duração antes de atender podem não ser conectadas. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE via "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. - CLIENT-4805 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-4998 A transferência de rede e a renegociação subsequente da conexão não são suportadas. – CLIENT-2985 IPv6 não é suportado. – CLIENT-4698 Parâmetros que são transmitidos para seu aplicativo TwizML ao fazer chamadas não são codificados por URL – CLIENT-4547 O Insights não é publicado – CLIENT-4672 CLIENT-4673 Os códigos de erro 20157 e 20151 relatam mensagens e textos explicativos diferentes dos SDKs do Voice 2.0 – CLIENT-4537 PCMU é o único codec suportado. Planejamos adicionar suporte para a Opus daqui para frente. No 117 – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.


3.0.0-preview2

28 de agosto de 2018

Melhorias

– Apresentou um novo método de retorno de chamada "[TVOCallDelegate callDidStartRinging:]". Esse retorno de chamada é emitido uma vez antes do retorno de chamada "[TVOCallDelegate callDidConnect:]" quando o cliente está sendo alertado de uma chamada. A duração do "TVOCallStateRinging" é determinada pelo sinalizador "answerOnBridge", fornecida no verbo "Dial" do seu aplicativo TwilML associado a este client (cliente). Se o sinalizador "answerOnBridge" for "false", que é o padrão, o retorno de chamada do "[TVOCallDelegate callDidConnect:]" será emitido imediatamente após "[TVOCallDelegate callDidStartRinging:]". Se o sinalizador "answerOnBridge" for "true", isso fará com que a chamada emita o retorno de chamada "callDidConnect" apenas até que a chamada seja atendida. Consulte answeronbridge para obter mais detalhes sobre como utilizá‐lo com o verbo "Dial" TwistML. Se a resposta do twidiML contiver um verbo "Say", a chamada emitirá imediatamente o retorno de chamada "[TVOCallDelegate callDidConnect:]", imediatamente após a geração de "[TVOCallDelegate callDidStartRinging:]", independentemente de o valor de "answerOnBridge" ser definido como "true" ou "false". – Adicionado um novo estado de chamada "TVOCallStateRinging". – TwilioVoice.region é transferido para "TVOCallOptions.region". – Adicionou um método "getStatsWithBlock:" para a "TVOCall", que constrói um "TVOStatsReport" com métricas para todas as faixas áudio em uma chamada.

Problemas conhecidos

– CLIENT-5121 Os aplicativos que usam o "3.0.0-preview2" podem precisar incluir a chave "NSCameraUsageDescription" e a string de finalidade em seu "Info.plist" para enviar o aplicativo para a App Store. O WebRTC usado pelo SDK do Twilio Voice está usando APIs de câmera. Estamos trabalhando na criação do SDK do Voice com a variante somente de áudio do WebRTC, em que essa solução alternativa não será necessária. No 163 – CLIENT-5059 As chamadas feitas para um cliente ou número RPTC que têm uma longa duração antes de atender podem não ser conectadas. – CLIENT-4943 As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE via "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos no Serviço transversal de rede da Twilio. - CLIENT-4805 O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – CLIENT-4998 A transferência de rede e a renegociação subsequente da conexão não são suportadas. – CLIENT-2985 IPv6 não é suportado. – CLIENT-4698 Parâmetros que são transmitidos para seu aplicativo TwizML ao fazer chamadas não são codificados por URL – CLIENT-4547 O Insights não é publicado – CLIENT-4672 CLIENT-4673 Os códigos de erro 20157 e 20151 relatam mensagens e textos explicativos diferentes dos SDKs do Voice 2.0 – CLIENT-4537 PCMU é o único codec suportado. Planejamos adicionar suporte para a Opus daqui para frente. No 117 – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.


3.0.0-preview1

10 de agosto de 2018

Esta é nossa primeira versão baseada em WebRTC usando Chromium WebRTC 57.

Esse SDK apresenta APIs de dispositivos de áudio. O SDK do Voice usa o "TVODefaultAudioDevice" por padrão. Esta versão apresenta um novo protocolo, "TVOAudioDevice". Esse protocolo permite substituir o "TVODefaultAudioDevice". Ao implementar o protocolo "TVOAudioDevice", você pode gravar seu próprio capturador de áudio para alimentar amostras de áudio para o SDK do Voice e um renderizador de áudio para receber as amostras de áudio remoto. Por exemplo, você pode integrar‐se ao "ReplayKit2" e capturar o áudio do aplicativo para transmissão ou reprodução de música usando o "AVAssetReader".

Esse SDK apresenta "TVOConnectOptions" e "TVOAcceptOptions" para permitir que os desenvolvedores façam alterações comportamentais associadas a uma chamada.

Esse SDK permite que várias chamadas ativas sejam gerenciadas pelo aplicativo.

Melhorias

– Apresentada a propriedade da classe "TwilioVoice.audioDevice". Você deve configurar seu dispositivo de áudio em "TwilioVoice.audioDevice" antes de executar qualquer outra ação com o SDK, como criar trilhas ou conectar‐se a uma chamada. – Adicionado o "TVODefaultAudioDevice" para renderizar e capturar áudio. Por padrão, o SDK do Voice usa o "TVODefaultAudioDevice" para capturar e renderizar áudio. – Adicionada a capacidade de fornecer sua própria captação e renderização de áudio através do protocolo "TVOAudioDevice". Como parte dessa mudança, acrescentamos também o "TVOAudioFormat", que descreve o áudio que está sendo capturado e renderizado. – Essa versão desaprova a categoria "CallKitIntegration" do TwilioVoice em favor de uma nova propriedade denominada "TVODefaultAudioDevice.enabled". Essa propriedade fornece aos desenvolvedores um mecanismo para habilitar ou desabilitar a ativação do dispositivo de áudio antes de se conectar a uma chamada ou para interromper ou iniciar o dispositivo de áudio enquanto você já estiver conectado a uma chamada. Uma chamada agora pode ser ligada sem ativar o dispositivo de áudio, definindo "TVODefaultAudioDevice.enabled" como "NO" e pode ser ativada durante o ciclo de vida da chamada, definindo "TVODefaultAudioDevice.enabled" como "YES". O valor padrão é "YES" (SIM). Essa alteração de API foi feita para garantir compatibilidade total com o CallKit, bem como suporte a outros casos de uso em que os desenvolvedores possam precisar desativar o dispositivo de áudio durante uma chamada.

Exemplos no 1 – Alteração da rota de áudio do receptor para o alto‐falante em uma chamada ao vivo:


// O SDK do Voice usa TVODefaultAudioDevice por padrão.

// ... conectar a uma chamada. Por padrão, o "TVODefaultAudioDevice" é configurado para rotear o áudio para o receptor.

TVODefaultAudioDevice *audioDevice = (TVODefaultAudioDevice *)TwilioVoice.audioDevice;

audioDevice.block =  ^ {
    // Executaremos primeiro o "kDefaultAVAudioSessionConfigurationBlock".
    kDefaultAVAudioSessionConfigurationBlock();

    if (![session overrideOutputAudioPort:AVAudioSessionPortOverrideSpeaker error:&error]) {
        NSLog(@"AVAudiosession overrideOutputAudioPort %@",error);
    }
};
audioDevice.block();

Exemplo no 2 – Conectar a uma chamada usando a categoria "AVAudioSessionCategoryPlayback":

id<TVOAudioDevice> audioDevice = [TVODefaultAudioDevice audioDeviceWithBlock:^ {

    // Execute o "kDefaultAVAudioSessionConfigurationBlock" primeiro.
    kDefaultAVAudioSessionConfigurationBlock();

    // Substituir a categoria por "playback"
    AVAudioSession *session = [AVAudioSession sharedInstance];
    NSError *error = nil;
    if (![session setCategory:AVAudioSessionCategoryPlayback
                         mode:AVAudioSessionModeVoiceChat
                      options:AVAudioSessionCategoryOptionAllowBluetooth
                        error:&error]) {
        NSLog(@"AVAudioSession setCategory:options:mode:error: %@",error);
    }
}];

TwilioVoice.audioDevice = audioDevice;

TVOCall *call = [TwilioVoice connectWithOptions:connectOptions delegate:self];

– API migrada para fazer uma chamada outbound da "[chamada do TwilioVoice]" para "[TwilioVoice connectWithOptions:delegate:]".

TVOConnectOptions *connectOptions = [TVOConnectOptions optionsWithAccessToken:self.accessToken
                                                                       block:^(TVOConnectOptionsBuilder *builder) {
   builder.params = twiMLParams;
   builder.uuid = [NSUUID UUID];
}];
TVOCall *call = [TwilioVoice connectWithOptions:connectOptions delegate:self];

– API migrada para aceitar um "TVOCallInvite" usando "TVOAcceptOptions".

TVOAcceptOptions *options = [TVOAcceptOptions optionsWithCallInvite:self
   block:^(TVOAcceptOptionsBuilder *builder) {
   builder.uuid = weakSelf.callInvite.uuid;
}];
TVOCall *call = [callInvite acceptWithOptions:options delegate:strongSelf];

– Módulos de log independentes adicionados: "TVOLogModuleCore", "TVOLogModulePlatform", "TVOLogModuleSignaling" e "TVOLogModuleWebRTC". – "[TwilioVoice setModule:LogLevel:]" agora é "[TwilioVoice setLogLevel:Module:]". – "[TwilioVoice logLevelForModule:]" é adicionado para recuperar o nível de log para um módulo específico. – "[Versão do TwilioVoice]" agora é "[TwilioVoice getVersion]" para evitar conflitos de tipo com o "NSObject". – O SDK para iOS do Voice 3.0.0 é compatível com iOS 10.0 e versões posteriores.

Problemas conhecidos

– CLIENT-5121 Os aplicativos que usam o "3.0.0-preview1" podem precisar incluir a chave "NSCameraUsageDescription" e a string de finalidade em seu "Info.plist" para enviar o aplicativo para a App Store. O WebRTC usado pelo SDK do Twilio Voice está usando APIs de câmera. Estamos trabalhando na criação do SDK do Voice com a variante somente de áudio do WebRTC, em que essa solução alternativa não será necessária. #163 – CLIENT-5059 As chamadas feitas para um client (cliente) ou número RPTC que têm uma longa duração antes de atender podem não ser conectadas. – [CLIENT-4943] As redes restritivas podem falhar, a menos que sejam fornecidos servidores ICE via "TVOConnectOptions" ou "TVOAcceptOptions". Os servidores ICE podem ser obtidos em Serviço transversal de rede Twilio. – [CLIENT-4805] O tamanho do SDK é significativamente maior que 2.x. Um tamanho reduzido será introduzido durante o período beta. – [CLIENT-4998] A transferência de rede e a renegociação subsequente da conexão não são suportadas. – [CLIENT-2985] O Ipv6 não é suportado. – [CLIENT-4698] Parâmetros que são transmitidos para seu aplicativo TwizML ao fazer chamadas não são codificados por URL – [CLIENT-4547] O Insights não é publicado – [CLIENT-4672] [CLIENT-4673] Os códigos de erro 20157 e 20151 reportam mensagens e textos explicativos diferentes dos SDKs do Voice 2.0 – Usar o SDK para iOS do Voice lado a lado com a biblioteca WebRTC resultará em conflito de símbolos "RTCNativeAudioSessionDelegateAdapter" durante o tempo de compilação.

2.X

Para entradas mais antigas do changelog, incluindo 2.x, clique aqui

Classifique esta página:

Precisa de ajuda?

Às vezes, todos nós precisamos; a programação é difícil. Receba ajuda agora da nossa equipe de suporte, ou confie na sabedoria da multidão navegando pelo Stack Overflow Collective da Twilio ou buscando a tag Twilio no Stack Overflow.

        
        
        

        Obrigado pelo seu feedback!

        Selecione o(s) motivo(s) para seu feedback. As informações adicionais que você fornece nos ajudam a melhorar nossa documentação:

        Enviando seu feedback...
        🎉 Obrigado pelo seu feedback!
        Algo deu errado. Tente novamente.

        Obrigado pelo seu feedback!

        thanks-feedback-gif