Preparando jogos feitos em Unity3D para a Mac App Store

Olá pessoal, nesse post eu vou explicar como se prepara um jogo feito em UNITY 3D para ser publicado na Mac App Store. A vantagem de publicar na Mac App Store em vez de na iOS app store são as seguintes: (a) utiliza a versão gratuita do Unity, não precisando de nenhuma licença adicional; (b) não precisa se preocupar com a configuração de gestos multi touch e de testar em vários aparelhos (ipad, ipod  e iphones de várias gerações); (c) Despreocupação com o baixo poder de processamento de dispositivos móveis, ou seja, você não precisará ficar otimizando seu código e arquivos de imagem para rodar suavemente num ipod, por exemplo.

Dito isso, vamos ao que precisaremos para a publicação de um jogo na Mac App Store:

– Licença de desenvolvedor de MAC OS X (100 dólares por ano);

– Versão gratis do Unity 3D (ou a profissional, claro);

– Um computador da apple com Mac OS X Snow Leopard instalado assim como a ultima versão do Xcode e do Application uploader (que você baixa do site da apple quando já possuir sua licença de desenvolvedor);

– Entre 20 min e 1 hora, caso nada dê muito errado =)

Vamos lá. Primeiro, com o seu jogo pronto e aberto no Unity (usando um Mac) clique em file e depois em Building Settings. Em target platform selecione a opção Mac OS X Intel Only. Em seguida, clique em player settings e coloque a resolução que achar melhor, o nome do jogo, da empresa, etc. Não é preciso se preocupar com o ícone agora, pois teremos que coloca-lo manualmente depois. Agora é só clicar em Build para ter seu jogo no formato .app (é um bom momento pra testar se está tudo OK com o jogo, você não poderá altera-lo depois).

Agora precisamos alterar o arquivo .app gerado para se adequar aos padrões exigidos pela Mac App Store. Um arquivo .app é como se fosse uma pasta com todos os arquivos do jogo dentro. Vamos começar colocando o ícone no formato que o mesmo deve ter. Baixe o programa FastIcns (free) e instale-o. Com o programa FastIcns aberto (ele é um cubo girante na tela), arraste o arquivo de imagem do seu ícone pra cima dele e clique duas vezes no cubo. Selecione a opção para exportar no formato .icns e em 512×512 pixels. Um arquivo será automaticamente gerado e colocado na área de trabalho. Chame-o, por exemplo, de icone.icns. Clique com o botão direito no .app do seu jogo e selecione a opção Mostrar conteúdo do pacote para o finder abrir os arquivos contidos no .app. Abra a pasta chamada contents e arraste o arquivo icone.icns que você gerou para dentro da pasta resources.

Agora vamos alterar o arquivo info.plist do jogo, que contém informações sobre o mesmo que a apple vai usar para cadastrar seu jogo na loja. Abra o arquivo info.plist, clique com o botão direito em qualquer parte do texto e selecione a opção Show raw keys/values. Altere as entradas listadas abaixo:

CFBundleExecutable: Nome Do Jogo

–  CFBundleGetInfoString: Nome do jogo version 1.00  [ou seja, o nome do seu jogo seguido da versão atual]

CFBundleIconFile: icone.icns [ou o nome do arquivo que você gerou]

–  CFBundleIdentifier: com.nomedaempresa.nomedojogo [você vai ter que cadastrar esse endereço na sua conta de desenvolvedor primeiro, o nome deve ser o mesmo se não dará erro na hora de fazer o upload pra app store]

CFBundleName: Nome do Jogo

CFBundleShortVersionString: v1.00 [ou a sua versão]

CFBundleVersion: 1.00 [ou a sua versão]

Agora você vai ter que criar duas novas strings, clicando no botão “+” para adicionar uma nova string. São elas:

NSHumanReadableCopyright: Nome do Jogo v1.00 (c) Nome da Empresa [ou algo num formato parecido]

LSApplicationCategoryType: public.app-category.games [ou a categoria que você quer colocar seu jogo, você encontra uma lista das possibilidades na internet.]

Preste bastante atenção pois até mesmo colocar uma letra em minúsculo em vez de maiúsculo no info.plist pode fazer seu arquivo ser recusado e você terá que repetir todo o processo. Portanto gaste o tempo necessário para conferir tudo antes do próximo passo. Quando estiver seguro, salve e feche o arquivo.

O jogo em si está pronto, mas como os produtos fornecidos na Mac App Store instalam-se automaticamente quando baixados, temos que adaptar o nosso arquivo para tal. Vamos agora criar um pacote .pkg assinado com sua chave de desenvolvedor (um arquivo que você baixará da sua conta de desenvolvedor de Mac). Todo o processo é feito no Terminal portanto procure-o no Finder e abra-o (caso esteja usando o mac de outra pessoa, lembre-se que você precisará da senha de usuário da mesma). Com seu arquivo .app modificado e salvo na mesa (área de trabalho), digite os seguintes comandos no terminal:

chmod -R a+xr “/Users/nomeusuario/Desktop/Nome do Jogo.app”

substituindo o “nomeusuario” pelo dito cujo e o “Nome do Jogo.app” pelo nome do seu, com espaço se ele possuir. Vamos agora assinar o produto com sua chave de desenvolvedor:

codesign -f -v -s “3rd Party Mac Developer Application: SEU NOME DE DESENVOLVEDOR” “/Users/nomeusuario/Desktop/Nome do Jogo.app”

substituindo o que for necessário. Agora podemos montar o arquivo .pkg:

productbuild –component “/Users/nomeusuario/Desktop/Nome Do Jogo.app” “/Applications”

– -sign “3rd Party Mac Developer Installer: SEU NOME DE DESENVOLVEDOR”

“/Users/nomeusuario/Desktop/nomedojogo.pkg”

Note que o nome do jogo deve ser escrito junto no final: nomedojogo.pkg. Pronto, se tudo correu bem

seu arquivo .pkg foi gerado e está pronto para o upload.Para confirmar que tudo correu bem, podemos “simular”

uma instalação a la Mac App Store. Delete o arquivo .app do jogo do seu computador (o .app e não o .pkg!!)

e digite no terminal:

4)sudo installer -store -pkg /Users/nomeusuario/Desktop/nomedojogo.pkg -target /

Se tudo estiver ok ele vai pedir a senha de usuário do mac e instalar o jogo na pasta Application,

recuperando assim seu arquivo .app.

Agora basta seguir o passo-a-passo para fazer o upload do seu arquivo pra Mac App Store e aguardar o processo de revisão. O upload é feito usando o programa Application Uploader que avisa sobre eventuais erros no seu info.plist ou no jeito que você preparou o .pkg.

É isso aí pessoal, dependendo da demanda talvez eu faça um post depois sobre o processo de publicação em si, esse foi para preparar o arquivo gerado pelo Unity 3D para atender as exigências da Mac App Store.

Se surgir alguma dúvida pode postar aqui no blog que eu tentarei responder de acordo com minha disponibilidade e conhecimento. Boa sorte!

4 thoughts on “Preparando jogos feitos em Unity3D para a Mac App Store

  1. Olá Raphael, estamos tentando criar uma apresentação institucional em 3D pelo UNITY, porém não conseguimos transferí-la para o IPAD, é preciso fazer tudo isso e se tornar desenvolvedor da Aplle, antes?

Leave a comment