Eu tenho um aplicativo pequeno que roda no iOS e no tvOS onde estou exibindo um vídeo no UIView.It suporta o iOS 12 e o tvOS 12. Agora, quero mostrar o PIP para o tvOS e, portanto, tentar usar o AVPictureInPictureController dá o erro “Uso do identificador não declarado 'AVPictureInPictureController ”.
Embora o destino de implantação esteja definido como tvOS 13. No Xcode, os recursos -> modo de plano de fundo -> habilitaram "Audio, Airplay e Picture In Picture". Este código básico dá erro.
#import <AVKit/AVKit.h>
if ([AVPictureInPictureController isPictureInPictureSupported]) {
// code
}
Faltam outras configurações ou algo mais que eu precise fazer?
obrigado
POSSIBILIDADE DE QUESTÕES DEVIDO AOS GAPS NA IMPLEMENTAÇÃO:
Experimente o AVPlayerViewController: Inicialmente, certifique-se de definir a categoria de reprodução de áudio, geralmente quando usamos um AVPlayerViewController para reproduzir conteúdo de vídeo. O modo PIP será automaticamente chamado se o aplicativo desenvolvido entrar em segundo plano, mas apenas se atender à condição mencionada abaixo. Primeiro, o Player que estamos usando deve estar no modo de tela cheia; o segundo é que devemos garantir que o vídeo seja Jogando nele e o terceiro é o PIP Deve ser suportado pelo dispositivo e, finalmente, o método delegate write para restaurar a interface do usuário do player quando o usuário retornar do modo Picture in Picture.
Implementação com _AVPictureInPictureController: Você pode encontrar um exemplo de trabalho no segmento abaixo. Como exibir AVPictureInPictureController?
Detalhamento do problema: para confirmar que o erro não declarado não se devia às lacunas na implementação e ao ambiente no Xcode, faça o download da fonte e adicione a pasta Sources dentro de outra pasta na sua área de trabalho.Adicione a pasta usando " Add Files to ... "e agora verifique dentro do xcode.
POSSIBILIDADE DE PROBLEMA DEVIDO A ATUALIZAÇÃO NO XCODE Tente corrigir pela abordagem 1 Inclua a classe explicitamente no cabeçalho e / ou no corpo - em vez do arquivo * .pch. Então esse erro pode desaparecer. A exclusão dos dados derivados também funciona de vez em quando. Você mudou a localização nas preferências recentemente por acaso. Alguns obtêm esse erro quando usam um ramdisk para dados derivados e depois retornam ao padrão. Esse é o caso mais irritante - pois faz com que esse erro apareça em quase todos os arquivos.
Tente corrigir pela abordagem 2 Às vezes, uma solução simples pode ajudar a excluir uma das linhas #import do arquivo pch e recompilar, que falhará conforme o esperado. Em seguida, coloque a linha excluída de volta, recompile e compile normalmente com todos os erros falsos.
POSSIBILIDADE DE PROBLEMA DURANTE O CACHE DE ERRO XCODE, SIGA AS ETAPAS ABAIXAS Limpe a compilação: Command-Option-Shift-K para limpar a pasta de compilação. Redefinir simulador: escolha iOS Simulator> Redefinir conteúdo e configurações Reinicie o Xcode Exclua sua pasta DerivedData em ~ / Library / Developer / Xcode / DerivedData Restart Computer
Exclua as pastas / var / de maneira muito direcionada. rm -rf "$ (getconf DARWIN_USER_CACHE_DIR) /org.llvm.clang/ModuleCache"
Fonte: Como esvaziar caches e limpar todos os alvos Xcode 4 e erros mais recentes do Xcode Xcode "Uso de identificador não declarado", compila / executa muito bem Uso do identificador não declarado no Xcode 9.0 https://developer.apple.com/documentation/avkit/adopting_picture_in_picture_in_a_standard_player
fonte
Para criar um simples player de vídeo
Primeiro, você precisará implementar um player de vídeo básico no arquivo ViewController.m do seu projeto, da seguinte maneira:
Para obter mais ajuda, acesse
https://help.apple.com/xcode/mac/8.0/#/dev51a648b07
fonte