- Created by Igor Andrade, last modified on 12/09/2023
O recurso de Compilação Remota (Remote Build) permite compilar e gerar arquivos *.ipa
diretamente pelo Cronapp.
Por padrão, o desenvolvimento de aplicações iOS necessita um computador Apple com o ambiente de desenvolvimento Xcode configurado e uma certificação que faça o vínculo entre o computador usado para o desenvolvimento, a conta do usuário e a aplicação desenvolvida. Só após todas essas configurações é possível compilar e publicar uma aplicação na Apple Store.
Com o novo recurso de Compilação Remota, todos esses passos podem ser feitos dentro do ambiente Cronapp, com o uso de uma máquina virtual Apple integrada ao nosso ambiente.
Caso você possua um computador Apple e queira compilar sua aplicação da forma tradicional, sugerimos seguir os passos do tutorial: Testar e publicar seu projeto para iOS (iPhone / iPad).
Pré-requisitos para o tutorial
Antes de começar a seguir os passos do tutorial é preciso ter certeza de que se tem um ambiente minimamente preparado para reproduzir o exemplo. Abaixo estão os requisitos principais.
Requisitos:
- Projeto do tipo mobile criado. Caso haja dúvidas de como criar esse tipo de projeto acesse o link ( Criar projeto ).
- Possuir uma ID da Apple. Caso não tenha, crie uma em https://appleid.apple.com/account.
- Possuir uma conta de desenvolvedor. Caso não tenha, crie uma em https://developer.apple.com.
- A opção Modo Avançado precisa estar habilitada no Cronapp.
Resumo
Serão necessários gerar vários arquivos para vincular a máquina virtual, a conta do usuário Apple e a aplicação criada. Alguns desses arquivos serão gerados diretamente do sistema de desenvolvimento da Apple (developer.apple.com) e outros a partir do Terminal Cronapp.
Todos esses passos estão descritos no fluxo abaixo, mostrando os arquivos necessários (nuvem azul) e os arquivos de saída (nuvem verde).
Figura 1 - Passos e arquivos usados na compilação remota
Passos
Terminal - Arquivos .key e .certSigningRequest
Inicialmente vamos gerar 2 arquivos a partir de comandos no terminal Cronapp. Dessa forma, abra o terminal clicando em seu ícone (destaque 1 da figura 2.1) e insira o comando abaixo (2) para gerar o arquivo ios_certificate.key
na raiz do projeto (3).
openssl genrsa -out ios_certificate.key 2048
Os 4 comandos que iremos informar no terminal fazem referência a arquivos existentes na árvore de arquivos ou a arquivos que serão criados/gerados. A expressão -in <nomeDoArquivo.ext>
tem o objetivo de apontar para um arquivo existente, já a expressão -out <nomeDoArquivo.ext>
representa o nome do arquivo que será criado/gerado.
Dessa forma, é importante ficar atento se o nome do arquivo no comando -in <arquivo>
é o mesmo do arquivo real. Caso não seja, adapte o comando para o nome real do arquivo.
Figura 2.1 - Gerando o arquivo .key a partir do terminal Cronapp
Em seguida, vamos executar um comando que vai gerar o arquivo *.certSigningRequest
a partir do arquivo *.key
. Esse arquivo é uma assinatura digital do ambiente de desenvolvimento usada para criar o certificado Apple.
Esse comando necessita de alguns parâmetros:
- emailAddress: e-mail da conta de desenvolvedor Apple;
- CN: nome do desenvolvedor;
- C: sigla do país de origem (ex.: "BR" ou "US").
openssl req -new -key ios_certificate.key -out CertificateSigningRequest.certSigningRequest -subj "/emailAddress=SEU_EMAIL@EMAIL.COM, CN=SEU_NOME, C=BR"
Após isso, o arquivo *.certSigningRequest
aparecerá na raiz do projeto junto com o arquivo *.key
. Clique com o botão direito do mouse sobre o arquivo *.certSigningRequest
e faça o download (opção Baixar...), pois usaremos ele para criar um certificado de desenvolvimento Apple.
Apple - Certificado de desenvolvimento
Acesse o https://developer.apple.com com seu usuário e após logar, selecione a opção Certificates, IDs & Profiles no menu lateral.
Figura 3.1 - Área inicial do developer.apple.com
Dentro de Certificates, Identifiers & Profiles, clique em Certificates no menu lateral e depois no ícone (+) para iniciar a criação do certificado (Figura 3.2).
Figura 3.2 - Iniciando a criação do Certificado de desenvolvimento Apple
Em seguida selecione a opção Apple Distribution nos tipos de certificados e clique em Continue (Figura 3.3).
Figura 3.3 - Seleção do tipo de certificado
Na próxima tela será solicitado o arquivo *.certSigningRequest
que criamos a partir do terminal Cronapp no passo anterior. Por isso, arraste ou clique em Choose File para selecionar este arquivo e em seguida, clique no botão Continue.
Figura 3.4 - Upload do pedido de assinatura para o certificado
A próxima tela exibirá um resumo do certificado. Clique no botão Download para baixar certificado de distribuição (arquivo *.cer
) e em seguida faça o upload para a raiz do seu projeto no Cronapp (Figura 3.5), usaremos mais tarde.
Figura 3.5 - Upload do certificado de distribuição para o Cronapp
Apple - Gerar o Identify do projeto
Ainda no developer.apple, clique em Identifiers no menu lateral e depois no ícone (+) para criar o identificado da sua aplicação dentro do sistema da Apple (Figura 4.1).
Figura 4.1 - Iniciando a configuração de identificação da sua aplicação
Selecione a opção App IDs e clique no botão Continue (Figura 4.2).
Figura 4.2 - Seleção do Identificador que será usado
Selecione a opção App e clique no botão Continue (Figura 4.3).
Figura 4.3 - Informe o tipo do identificador
Na próxima tela será necessário preencher as informações destacadas abaixo.
Figura 4.4 - Informações da aplicação
- Description: faça uma rápida descrição da aplicação.
- App ID Prefix: selecione o identificador criado junto com a conta de desenvolvimento.
- Bundle ID: é possível escolher entre 2 opções abaixo. Veja como obtê-lo na Figura 4.5.
- Explicit: (recomendado) o ID será exclusivo para esse aplicativo.
- Wildcard: o ID será genérico e poderá ser usado entre vários aplicativos, porém essa opção impossibilita o uso de diversos recursos do dispositivo e push notification.
Observação
Para obter o Bundle ID do seu aplicativo, basta acessar no menu do sistema do Cronapp Dispositivos móveis > Configurações e copiar o campo Pacote ID (destaque 1 da figura 4.5).
Figura 4.5 - Localização do Bundle ID do projeto
Ainda nessa página, selecione os recursos usados por seu aplicativo nas subabas Capabilities e App Services (figura 4.4).
É importante marcar apenas os recursos usados por seu aplicativo, caso contrário, o aplicativo poderá ser rejeitado no processo de validação da Apple Store.
Após preencher todos os campos, clique no botão Continue para seguir para a tela de resumo e finalize clicando em Register.
Apple - Gerar o Provision Profile
O provision profile é um arquivo de segurança que agrupa 3 informações: tipo de distribuição, o identificador do aplicativo e o certificado. Nesse momento já temos todos esses dados, então, clique em Profiles no menu lateral e depois no ícone (+) para abrir a janela exibida na Figura 5.1.
Selecione a opção App Store em Distribution e clique em Continue.
Figura 5.1 - Criando o perfil de provisionamento
Selecione o identificador da aplicação (destaque 1 da figura 5.2) criado no passo anterior e clique em Continue.
Figura 5.2 - Seleção do App ID
Selecione o certificado que criamos e clique em Continue (Figura 5.3).
Caso possua mais de um certificado do mesmo tipo, fique atento para selecionar o certificado criado a partir do arquivo *.certSigningRequest
que foi gerado no Cronapp.
Figura 5.3 - Seleção do certificado
Em seguida informe o nome do arquivo que será gerado no campo Provisioning Profile Name (destaque 1 da figura 5.4), configura se o tipo e App ID estão corretos e clique no botão Generate.
Figura 5.4 - Informando o nome do arquivo do profile
Ao final dessa etapa, clique no botão Download para baixar o arquivo *.mobileprovision
e, caso queira, você poderá fazer o upload desse arquivo em seu projeto Cronapp, mantendo todos os arquivos em um mesmo local, como fizemos com o certificado (figura 3.5).
Terminal - Arquivos .pem
De volta ao Cronapp, iremos gerar o arquivo *.pem
. e para isso é necessário já ter criado o certificado e feito o upload do arquivo *.cer
na raiz do seu projeto.
Abra o terminal e informe o comando abaixo.
openssl x509 -in ios_distribution.cer -inform DER -out ios_certificate.pem -outform PEM
Figura 6.1 - Gerando o arquivo *.pem
Terminal - Arquivos .p12
Este último comando vai gerar o arquivo *.p12, e para isso, serão necessários os arquivos *.key
e *.pem
. Assim, insira o comando abaixo no terminal do Cronapp, informe uma senha e confirme-a em seguida. Essa senha será necessária no momento em que formos criar o arquivo compilado da aplicação (*.ipa
)
openssl pkcs12 -export -inkey ios_certificate.key -in ios_certificate.pem -out ios_certificate.p12
Figura 7.1 - Gerando o arquivo *.p12
Configurações do aplicativo móvel
Para abrir a janela de configurações do aplicativo, acesse no menu do sistema Dispositivos Móveis > Configurações.
Aba Aplicativo
Abaixo destacamos os campos mais importantes ou que merecem atenção.
Figura 8.1 - Aba Aplicativo das configurações do Dispositivos móveis
- Pacote ID: nesse momento não é interessante alterar o nome do pacote, caso contrário, será necessário gerar um novo identificador para o aplicativo.
- Tipo de Compilação: as configurações da aba iOS estão atreladas a esse campo. Dessa forma é possível configurar a aba iOS para o tipo de compilação "debug" e também "release"
- debug: será gerado um aplicativo para ser usado durante os testes.
- release: será gerado o aplicativo final, que será enviado a Apple Store.
- URL do Servidor (produção): esse campo é obrigatório e indica a URL do servidor (domain) que se comunica com sua aplicação mobile.
Se seu objetivo for testar a aplicação em modo debug, execute a aplicação, copie a URL base do endereço e cole no campo 3 da figura 8.1.
Exemplo: https://app-30-163-10017.ide.cronapp.io/
Lembramos que essa URL é temporária e poderá ser alterada se você parar e executar novamente o servidor da aplicação no Cronapp.
Como estamos tratando de uma aplicação que vai para produção, selecione o Tipo de compilação "release" e informe a URL do Servidor.
Aba iOS
Nessa última etapa de configuração vamos precisar fazer os uploads dos arquivos *.mobileprovision
e *.p12
, como indicado abaixo.
Figura 8.2 - Aba iOS
- Compilação Remota iOS: campos necessários para gerar a compilação remota.
- Code Sign Identity: esse campo deve ser configurado de acordo com a opção do campo Tipo de compilação da aba Aplicativo.
- debug: informe "iPhone Developer".
- release: informe "iPhone Distribution".
- Provisioning Profile File: selecione o arquivo
*.mobileprovision
obtido na etapa em que criamos o Provision Profile. - Development Team: esse campo será automaticamente preenchido ao fazer o upload do arquivo Provision profile e refere-se ao identificador criado junto com a conta de desenvolvimento.
- Provisioning Profile: esse campo será automaticamente preenchido ao fazer o upload do arquivo Provision profile e é o identificador do provisioning profile.
- Certificado de Distribuição: selecione o arquivo
*.p12
obtido na etapa acima. - Senha do certificado: senha criada ao gerar o arquivo
*.p12
. - Servidor de Compilação: máquina virtual Apple do Cronapp. Se você possuir um servidor de compilação Apple próprio, poderá informar o endereço nesse campo.
- Code Sign Identity: esse campo deve ser configurado de acordo com a opção do campo Tipo de compilação da aba Aplicativo.
- iOS Mensagens de Privacidade: caso você tenha selecionado algum recurso durante a criação do identificador do aplicativo (Capabilities) será necessário adicionar uma frase informando porquê o aplicativo necessita desse recurso, para assim o usuário autorizar ou não o uso do recurso.
Caso o aplicativo utilize um recurso e não possua um texto, será rejeitado durante o processo de validação na Apple Store.
Arquivo compilado
Acesse no menu do sistema Dispositivos Móveis > Compilar > iOS para abrir a janela Selecione o modo de build, informe o Perfil desejado e confira se a URL do servidor da aplicação está correto, clique em OK para iniciar o processo de compilação.
Figura 9.1 - Gerando a compilação remota do aplicativo iOS
Na janela Download Aplicação Móvel, clique em Publicar para ser direcionado para a funcionalidade Publicar aplicação na Apple Store ou clique em Baixar para iniciar o download de um arquivo compactado que possui o arquivo compilado *.ipa
.
Nesta página
- No labels