Primeiro protótipo de app para tvOS, done.

Eduardo Lombardi
3 min readFeb 3, 2020

--

Devo contar para vocês. Tenho muitas idéias de apps. Idéias são apenas idéias…sem a devida realização (e já tive contato muito próximo com os meios de realização de apps) nada acontece. Mas não custa prototipar um app aqui outro ali e ainda aprender uma tecnologia nova não é?

tvOS é o sistema operacional das apple TV's mais recentes. O modelo somente fullHD e o modelo 4K. Ali, temos a App store e podemos baixar uma infinidade de aplicativos. Como fazer um? Vamos lá.

Primeiro passo, Xcode aberto, file -> new Project, aba tvOS. São algumas opções, mas foquei na single view application por ser a mais simples e também a mais customizável delas.

A partir daí, pouca coisa muda. Temos todos os arquivos necessários para o nosso projeto gerados. São eles, os arquivos swift da nossa viewController principal, os info.plist, o xcasset e o storyboard.

O aplicativo que estive fazendo era um aplicativo muito simples. Ele baixa um JSON de um servidor, que contém uma lista de vídeos e seus nomes, e os toca em sequência, repetindo quando chega no final.

O código acima faz o download de um arquivo JSON estático presente em um URL, usando URLSession. No final do download ( ou seja, dentro da closure de completion do download) eu tento realizar o decoding deste JSON a partir de um modelo presente no meu projeto, e salvo os itens baixados. Caso o decoding falhe, eu printo um erro no console. É bom lembrar que dataModel neste caso precisa ter os mesmos campos e tipos do JSON em questão para que o decoding ocorra com sucesso, além é claro de conformar com o protocolo codable. O array dataItens, neste caso também é de um tipo específico e também precisa conformar com o protocolo codable.

Chegamos na viewController. Ela precisa neste caso importar o AVKit, já que estaremos lidando com um player de vídeo (que pode ser somente de audio também).

Coisas que precisei criar aqui: uma instancia deum AVQueuePlayer(). Este pode receber mais de um AVPlayerItem para tocar. Para criar um AVPlayerItem é muito simples:

Para tocar efetivamente o vídeo, utilizei uma classe especial, a AVPlayerViewController.

Nela temos uma série de propriedades para esconder os controles do vídeo, permitir o avanço/retrocesso, entre outras.

Vale lembrar, que para testar o aplicativo em uma apple TV de fato é um pouco mais complicado, mas não muito. Você precisa estar na mesma rede Wifi, abrir o aplicativo de settings da apple TV, ir para a seção controle remoto e dispositivos e a partir daí ir em window -> devices and simulators no Xcode e selecionar a mesma para compilar e adicionar os certificados. Se eu continuar o desenvolvimento deste app escrevo outro post como esse por aqui.

--

--

No responses yet