BT

Disseminando conhecimento e inovação em desenvolvimento de software corporativo.

Contribuir

Tópicos

Escolha a região

Início Notícias Projeto Catalyst: executando apps iOS nativamente no macOS

Projeto Catalyst: executando apps iOS nativamente no macOS

A Apple recentemente anunciou o projeto Catalyst durante o WWDC. O Catalyst, também conhecido como Marzipan, é projetado para permitir que os desenvolvedores lancem apps iOS para o macOS, iniciando a partir do lançamento do macOS Catania.

No ano passado, a Apple começou a migrar algumas apps iOS para o macOS usando o projeto Catalyst, apps como o Voice Memos, Apple News, Stocks e Home. Agora, o Screen Time está chegando no macOS, assim como algumas novas funcionalidades do iOS 13, tais como a nova app Reminders, photo gallery, e folders no Notes.

Algumas empresas também anunciaram que vão lançar suas apps para o macOS, empresas como o Twitter, Gameloft, Atlassian, DC, além de outras.

(Imagem obtida em blog.twitter.com)

O projeto Catalyst fornece um caminho fácil para que os desenvolvedores liberem suas apps do iPad para o macOS. Por padrão, a versão macOS de uma app do iPad suporta redimensionamento de janelas e exibição em tela cheia; entradas de trackpad, mouse, e teclado; copy/paste, e drag and drop; controles touch bar; um menu bar padrão, e scroll bars no estilo Mac. Os desenvolvedores podem no entanto, fazer um trabalho extra para que suas apps fiquem ainda melhor no macOS, com coisas como controles de menu, atalhos para a barra de ferramentas, e barras laterais transparentes.

Para iniciar a portar uma app iPad para o macOS, antes de mais nada, os desenvolvedores precisam instalar o Xcode 11 beta, então abrir o projeto no Xcode e selecionar o iOS target que querem configurar. A partir dai devem ir para General tab > Deployment Info, e marcar a caixa de seleção "for the Mac device" (a caixa de seleção não está disponível para apps que suportam apenas o iPhone).

Após selecionar o Mac como um dispositivo suportado, o Xcode fará as seguintes mudanças no projeto:

  • Adicionar um identificador bundle para a versão Mac da app;
  • Adicionar o App Sandbox Entitlement (um valor booleano que indica se a app pode usar a tecnologia de controle de acesso) ao projeto;
  • Adicionar o My Mac à lista de destinos que podem ser escolhidas ao executar a app a partir do Xcode;
  • Excluir frameworks incompatíveis, extensões da app, e outros conteúdos.

Embora o Xcode exclua frameworks incompatíveis e conteúdo embarcado quando possível, as vezes é necessário que o desenvolvedor exclua algum conteúdo manualmente. Para fazer isso é necessário ir em General tab para o iOS target > Frameworks > Libraries > Embedded Content. Então selecionar as configurações da plataforma iOS para o item. Essa configuração exclui o item da versão Mac de uma app.

Para projetos que não compilam devido frameworks ou APIs que não estão disponíveis para o Mac, é possível excluí-lo como mostrado aqui:

#if !targetEnvironment(UIKitForMac)
// Código a ser excluído do Mac.
#endif

É possível usar a mesma abordagem para incluir um framework que somente está disponível para o macOS.

#if targetEnvironment(UIKitForMac)
// Código que executa somente no Mac.
#endif

Embora a maioria das apps do iPad sejam grandes candidatas para o macOS, apps que tem como funcionalidade principal o giroscópio, acelerômetro, câmera traseira, frameworks iOS como o HealthKit ou ARKit, ou que a funcionalidade principal é algo como a navegação, provavelmente não devem ser lançadas no macOS.

Maiores detalhes sobre o Catalyst podem ser encontrados no Apple developer site. O Xcode 11 beta está disponível para download em https://developer.apple.com/download/. Um guia de desenvolvimento também está disponível.

Avalie esse artigo

Relevância
Estilo/Redação

Conteúdo educacional

BT