Fastlane para TestFlight no iOS

Simples passos para otimizar seu tempo com CD.

Gois
Apple Developer Academy | Mackenzie

--

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

  1. Instalando o Fastlane
  2. Iniciando o Fastlane no seu projeto
  3. Criando certificados
  4. Configurando o Xcode
  5. Subindo para o TestFlight

Pré-requisitos

  1. Conhecer os comandos básicos do Shell(Terminal)
  2. 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)

Selecionando 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:

Insirindo as credenciais.

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 😉

Pedindo a requisição a respeito da distribuição.

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:

Certificado de Debug.

Gerando o certificado de Release:

fastlane sigh
Certificado de Release.

4. Configurando o Xcode

O primeiro passo para a configuração é estabelecer que a versão seu projeto no Xcode é genérica, para isso:

Tornando a versão do projeto genérica.
  1. Selecione a raiz do do projeto
  2. Selecione em PROJECT o seu projeto
  3. Vá em Build Settings
  4. No campo de pesquisa, procure por: “versioning”
  5. Se o seu projeto não tirar uma versão, sete o valor para 1 em Current Project Version
  6. 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:

Configurando o Debug.
  1. Selecione a raiz do do projeto
  2. Selecione a Target principal do projeto
  3. Selecione então Signing & Capabilities
  4. Após isso selecione a opção Debug
  5. Então, desmarque a opção Automatically manage signing
  6. Clique sobre Provisioning Profile
  7. 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.

Configurando o Release.

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:

Erro comum quando se tem mais de um certificado para desenvolvimento.

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:

Certificado do Release.

Abra-o e depois selecione a opção de Edição.

Entrando no modo 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:

Editando o certificado vinculado ao Provisioning Profile.
  1. Selecione o certificado mais atual e para uso no Xcode
  2. 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:

E-mail da apple confirmando o upload!

Bonus

Caso você tente subir uma segunda vez você poderá receber um erro como esse:

Erro de Build.

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!

Automatizando a incrementação de Build.

Obs. Não esqueça de colocar o nome do SEU .xcodeproj

--

--

Gois
Apple Developer Academy | Mackenzie

 iOS Developer | Student | Researcher | Innovation Enthusiast.