Olá,
nós somos da empresa Tecnosul e nós temos um aplicativo para iOS publicado na loja da Apple, conforme o link abaixo:
https://apps.apple.com/br/app/tecnosul-ptt/id1460605295
Esse aplicativo é um fork do aplicativo Mumble para iOS e foi feito já várias modificações para que fosse possível publicar na loja, já que o aplicativo é antigo. Também foi feito alterações para que fossem adicionados alguns novos recursos.
O aplicativa funciona no modelo Push-to-talk (PTT), onde o cliente conecta em um canal com senha e consegue se comunicar enviando e recebendo em tempo real mensagens de voz com outras pessoas que já estão conectadas no canal.
Atualmente o aplicativo está com um problema no fluxo de utilização do microfone e alto falante quando o mesmo entra em plano de fundo (background). Segundo medidas de segurança do iOS, assim que o uso do microfone é liberado para qualquer app que use gravação (WhatsApp, Telegram, ligações de operadoras, etc...), O app Tecnosul PTT não consegue acesso ao microfone novamente ao tentar se reconectar no canal, pois o iOS bloqueia esse acesso ao microfone para aplicativos que estão em plano de fundo. O outro problema é que a utilização do microfone e alto falante estão juntos em um mesmo device. Como esse acesso não é garantido novamente, a conexão cai e não volta novamente quando por exemplo vc recebe uma ligação e ela é encerrada, ou seja, vc não consegue mais ouvir mensagens de voz de quem está conectado no canal.
O comportamento esperado seria continuar ouvindo audio de quem envia mensagem no canal, mesmo após qualquer utilização do microfone de qualquer outro aplicativo enquanto o canal estiver conectado.
É Necessário fazer alteração em todo o fluxo de utilização do microfone e alto falante para somente requisitar o uso do microfone quando o botão do ptt é pressionado. Sendo assim, o uso do microfone fica totalmente liberado para qualquer outro app quando o Tecnosul PTT está em plano de fundo. Atualmente o uso do microfone é constante e o microfone e alto falante estão juntos em um único device, é preciso separar os dois.
Pra quem quiser testar e reproduzir o problema para uma melhor visualização, favor mandar mensagem que eu passo a senha de um canal de teste da empresa, o canal "30. Tecnosul - Fábrica".
O código fonte do aplicativo se encontra versionado no GitLab em um repositório privado.
Delivery term: Not specified