Fastlane para TestFlight no iOS
Simples passos para otimizar seu tempo com CD.
Fastlane é uma ferramenta que tem o intuito de auxiliar a jornada do desenvolvedor iOS, entre suas principais funções de automatização podemos destacar:
- Envio para AppStore
- Envio para TestFight
- Captura de Snapshots
- Testes e Build
Hoje vamos focar na entrega continua para o TestFlight!
Passos
- Instalando o Fastlane
- Iniciando o Fastlane no seu projeto
- Criando certificados
- Configurando o Xcode
- Subindo para o TestFlight
Pré-requisitos
- Conhecer os comandos básicos do Shell(Terminal)
- Ter uma conta de desenvolvedor na Apple ativa
1. Instalando o Fastlane
Para instalar o Fastlane ter a ultima versão do Xcode command line tools está instalada:
Para isso, vá ao terminal e rode o comando:
xcode-select --install
Após isso, você pode instalar o Fastlane por meio do RubyGems ou por Homebrew:
RubyGems:
sudo gem install fastlane -NV
Homebrew:
brew cask install fastlane
2. Iniciando o Fastlane no seu projeto
Vá até a pasta do seu projeto via terminal e inicie o Fastlane com o comando:
fastlane init
Então selecione a opção 2 (Automate beta distribution to TestFlight)
Assim que escolher a essa opção o sistema pedirá para que insira suas credenciais, tal como na imagem abaixo:
Logo depois ele pedirá por uma confirmação caso o aplicativo ainda não esteja no Apple Developer Portal e outra caso ainda não estaja cadastrado na App Store Connect, para cada caso ele pedirá o nome do App, lembre-se que esse nome é o que vai para a loja 😉
Obs. Em alguns casos o Gemfile pode estar com alguma biblioteca desatualizada e somente não sair de $ bundle update, para resolver esse problema há duas possíveis soluções, a primeira é verificar qual está desatualizada e conserta-la, a segunda é dar control+c, como no nosso caso não usaremos as dependências do Gemfile, usaremos a segunda por questões didáticas. Para ler mais a respeito veja a documentação do Fastlane.
3. Criando certificados
Para poder submeter para a loja com o Fastlane você precisará de dois certificados provisórios, uma para o desenvolvimento(Debug) e outro para para produção(Release), os dois são obrigatórios para a submissão no TestFlight 👌🏻
Gerando o certificado de Debug:
fastlane sigh --development
Repare que dentro da pasta do seu projeto vai ter um novo arquivo, que no caso é seu certificado:
Gerando o certificado de Release:
fastlane sigh
4. Configurando o Xcode
O primeiro passo para a configuração é estabelecer que a versão seu projeto no Xcode é genérica, para isso:
- Selecione a raiz do do projeto
- Selecione em PROJECT o seu projeto
- Vá em Build Settings
- No campo de pesquisa, procure por: “versioning”
- Se o seu projeto não tirar uma versão, sete o valor para 1 em Current Project Version
- Em Versioning System seleccione a opção “Apple Generic”
Agora precisamos configurar o Xcode para que o projeto esteja vinculado aos dois certificados que foram gerados nos passos anteriores.
Configurando o Debug:
- Selecione a raiz do do projeto
- Selecione a Target principal do projeto
- Selecione então Signing & Capabilities
- Após isso selecione a opção Debug
- Então, desmarque a opção Automatically manage signing
- Clique sobre Provisioning Profile
- E por fim, clique sobre a opção de Import Profile… e seleccione o certificado de Debug gerado no passo anterior.
Configurando o Release:
Repita os memos passos da configuração do Debug, com exceção do passo 4, e do 7.
4. Selecione a opção Release
7. E por fim, clique sobre a opção de Import Profile… e seleccione o certificado de Release gerado no passo anterior.
Obs. Caso apareça esse erro abaixo:
Como descrito este é um erro comum, não! não acabou o mundo… Primeiramente acesse sua conta em:
Após realizado o login acesse a área de Certificates, Identifiers & Profiles e procure pelo certificado em Release:
Abra-o e depois selecione a opção de Edição.
Assim que carregar o página, você verá todas as opções de alterações possíveis no seu Provisioning Profile, uma delas é a alteração do certificado correspondente a esse perfil, como vista na imagem abaixo:
- Selecione o certificado mais atual e para uso no Xcode
- Salve as alterações e retorne para o seu projeto no Xcode e tente compila-lo novamente! Caso o erro ainda esteja lá, baixe essa nova versão do certificado e adicione ao seu projeto, da mesma forma que foi realizado acima.
5. Subindo para o TestFlight
Para terminar, basta somente dar o comando abaixo dentro da pasta do seu projeto no terminal:
fastlane beta
E ACABOU!!! Depois de alguns minutos que leva para subir para a loja, você receberá seu e-mail:
Bonus
Caso você tente subir uma segunda vez você poderá receber um erro como esse:
Esse diz que você tem que atualizar o Build do seu projeto, mas ao invés de ficar lembrando todas as vezes de atualiza-lo vamos automatizar esse processo com uma linha de código!
Na pasta fastlane tem um arquivo chamando Fastfile, abra-o com seu editor de texto favorito e adicione o seguinte linha como na imagem abaixo e PRONTO!
Obs. Não esqueça de colocar o nome do SEU .xcodeproj
Bom, por hoje é isso! Até a próxima 🙏🏻
Disse-lhe Jesus: Eu sou o caminho, e a verdade e a vida; ninguém vem ao Pai, senão por mim. Jo 14:6