Criando app para iPhone sem usar um Mac
Olá, pessoal!
Neste tutorial eu vou mostrar o processo de desenvolver uma aplicação/game para iOS (iPhone, iPod, iPad) e rodá-la no seu aparelho, sem precisar de um Mac, usando o Marmalade SDK.
Muita gente acredita que para desenvolver para iOS obrigatoriamente você precisa de Objective C e de um Mac. Mas existem alternativas. Uma delas é o Marmalade SDK.
O Marmalade é um SDK para desenvolvimento de aplicações mobile, para Windows e Mac. As aplicações são desenvolvidas em C++ e rodam em iOS, Android, Symbian, bada e webOS, com nenhuma ou pouca modificação no código.
1) O que você precisa
- Computador com Windows (eu uso o Windows 7)
- Marmalade SDK: fiz este tutorial com a versão trial de 90 dias, que é gratuita.
- Visual C++: eu uso o Visual C++ 2010 Express, que também é gratuito
- iTunes
- Aparelho com iOS: fiz o tutorial com um iPod Touch
- Conta de desenvolvedor iOS: aquela que você paga US$ 99,00 / ano para a Apple.
2) Criando a aplicação
Para este tutorial eu vou criar uma aplicação simples, usando o template “2D Game” do Marmalade:
O código gerado exibe um quadrado que acompanha onde você toca na tela. Vou modificá-lo um pouco, colocando uma imagem de fundo e outra imagem no lugar do quadrado. O código modificado pode ser encontrado neste repositório do GitHub.
Antes de mais nada, teste a aplicação no Windows para garantir que está compilando e rodando. NoVisual C++ escolha a configuração (x86) Debug e dê um Start (F5).
O resultado é o seguinte:
3) Instalando os certificados
Esta etapa é a mais complexa do processo, mas precisa ser feita apenas uma vez. Aqui nós vamos instalar os certificados que vão permitir ao Marmalade relacionar os aplicativos gerados com a sua conta de desenvolvedor na Apple.
Visite http://developer.apple.com/membercenter e faça o login na sua conta de desenvolvedor e clique em “iOS Provisioning Portal”.
Enquanto isso execute a ferramenta “iPhone Signing Request Tool” (Iniciar > Programas > Marmalade > 5.1 > Tools > Marmalade iPhone Signing Request). Esta ferramenta vai gerar um arquivo .csr que vai ser usado no site da Apple. O primeiro campo é onde o arquivo resultante será salvo, o segundo fica “developer_identity.key”, o terceiro e quarto campos devem ser preenchidos com seu nome (primeiro e último) e email exatamente como estão cadastrados na Apple.
Clique em “Run”.
Com o arquivo .csr gerado, volte ao “iOS Provisioning Portal” e clique em “Certificates”. Clique no botão “Request Certificate”.
No campo “Selecionar arquivo” (ou Browse) escolha o arquivo .csr que foi gerado e clique em “Submit”.
De volta à tela “Certificates” clique no link “*If you do not have the WWDR intermediate certificate installed, click here to download now.” para baixar o arquivo “AppleWWDRCA.cer”.
Salve o arquivo na pasta “C:\Marmalade\5.1\s3e\deploy\plugins\iphone\certificates” (ou a pasta equivalente na sua instalação do Marmalade).
Mais uma vez, na tela “Certificates”, clique no botão “Download” ao lado do seu nome. (Se aparece seu nome, mas não o botão de download, atualize a página que o botão aparece.)
Você vai baixar o arquivo “developer_identity.cer”. Salve-o também na pasta “C:\Marmalade\5.1\s3e\deploy\plugins\iphone\certificates”
4) Registrando seu aparelho
Para poder rodar a aplicação no seu iPod/iPhone é preciso registrá-lo na sua conta de desenvolvedor.
De volta ao “iOS Provisioning Portal” clique em “Devices” e depois no botão “Add Devices”.
Na próxima tela você vai precisar informar um nome para identificar o aparelho e o seu “Device ID”. Você pode descobrir este ID no iTunes, estando com seu aparelho conectado. Na tela abaixo, clique em “Número de Série”. Ele vai mudar para “Identific. (UDID)”. Aperte Ctrl+C para copiar o ID.
Preencha os dois campos e clique em “Submit”.
5) App ID e Provisioning
Estamos quase lá! Mais um passo para poder rodar nosso app no aparelho.
No “iOS Provisioning Portal” clique agora em “App IDs” e depois no botão “New App ID”.
Preencha os campos. Em “Description” coloque uma descrição de sua preferência e em “Bundle Identifier” crie um identificador para seu app. Se quiser usar o mesmo App ID para mais de um app, você pode terminar esse identificador com um * (asterisco), como eu fiz no exemplo:
Clique em “Submit”.
Agora clique em “Provisioning” e depois, “New Profile”. Preencha um nome para o perfil, e nos outros campos escolha o certificado, o App ID, e o dispositivo que configuramos nos passos anteriores, como na imagem:
Clique em “Submit”.
De volta na tela que lista os perfis, clique no botão “Download” em frente ao perfil que acabou de criar.
Nota: Se o botão não aparece e o status está como “Pending”, atualize a página até que o status fique como “Active”.
Você vai baixar um arquivo .mobileprovision. Abra o iTunes e vá em Arquivo > Adicionar Arquivo à Biblioteca… Escolha o arquivo .mobileprovision que você baixou e clique “Abrir”. Parece que nada aconteceu, mas acredite, este passo é necessário.
Feche o iTunes e o execute novamente.
6) Instalando nosso game
Após todo esse trâmite, agora é só alegria. Vamos rodar nosso game no aparelho.
Abra novamente o projeto no Visual C++ e escolha a configuração “GCC (ARM) Release” e clique em Start (F5).
Após a compilação o próprio Visual C++ vai executar o “Marmalade System Deployment Tool”. Na primeira tela escolha “ARM GCC Release” e clique “Next >”
Na tela seguinte não precisa mudar nada. Clique “Next >”.
Na tela “Choose Platform(s)…” escolha “iOS (iPhone, iPad, iPod)”. Clique “Next >”.
Nas duas telas seguintes você entra com dados do aplicativo. Para testes pode deixar as duas como estão.
Na última tela (foto abaixo) eu geralmente escolho “Package and Install”, pois assim ele gera o arquivo IPA e já instala no iTunes.
Clique em “Deploy All”. Se tudo deu certo ele vai abrir o iTunes com seu jogo já instalado lá em “Aplicativos”.
Se o iTunes não abriu, você pode navegar na pasta do seu projeto, e ir em “\build\meu jogo 2d\vc10\deployments\default\iphone\release” e dar um duplo-clique no arquivo “algumacoisa.ipa”.
Agora basta sincronizar o seu iPod/iPhone e o aplicativo será instalado no aparelho.
OBS.: Deixei o ícone padrão do Marmalade, mas obviamente ele pode ser alterado.
Com isso concluimos o tutorial. Vale lembrar que a parte mais burocrática (passos 3, 4 e 5) é feita apenas uma vez. Depois é só ir desenvolvendo, testando no simulador e atualizando no aparelho.
Qualquer dúvida, comente! :-)
Lembrando que sou novo nesse mundo de desenvolvimento para iOS, então se fiz algo errado, me corrijam.
Recomendação de Cursos
Desenvolvimento de Aplicativos iOS11 em Swift4 | app iPhone
Curso Básico de Aplicativos para iOS em Swift
Links
- Marmalade SDK — Site oficial (em inglês): http://www.madewithmarmalade.com
- Visual C++ 2010 Express: http://www.microsoft.com/visualstudio/en-us/products/2010-editions/visual-cpp-express
- Página de desenvolvedor da Apple: http://developer.apple.com/membercenter/
- Código exemplo no GitHub: https://github.com/doug2k1/marmalade_win_tutorial