Ir para o conteúdo
Invillia Insights | For Infinite Learners
PT-BR | ENG
  • início
  • invillia
  • artigos
  • cases
  • e-books
  • notícias
  • webinars

Technaveia_ Fastlane para iOS 

Estamos sempre em busca de novas formas de pensar, agir e desenvolver nossas inovações aqui na Invillia. E isso inclui não parar de pesquisar ferramentas que possam melhorar nossa metodologia, processos e produtividade.  

Conheça de perto o Global Growth Framework™️ {aka GGF}: 
uma inteligência capaz de criar 
2,3 vezes mais rápido qualquer software_

 Na Invillia, toda quarta-feira, ao meio dia, paramos uma hora para nos nutrir com as dicas, how-tos, boas práticas e tendências selecionadas por nossos especialistas em Product, Agile, Back e Front, Mobile, Quality, Security e Data. Uma troca de experiências vital para quem adora o novo. E essencial para que a inovação nunca pare. Se a tecnologia está no sangue, a gente faz questão de deixá-la circulando cada vez mais_  

NA VEIA_ Automatização para apps iOS 

10 minutos de leitura 

No artigo de hoje, compartilhamos os principais aprendizados da incrível edição sobre “Fastlane para iOS”, apresentada por Iury da Rocha Miguel – desenvolvedor iOS e nosso especialista no assunto. 

Introdução 

Na área de automatização para apps iOS, a ferramenta Fastlane é útil desde o desenvolvimento até a submissão do app na App Store, auxiliando os desenvolvedores  iOS a economizarem tempo e esforço. Neste caso, a ferramenta está sendo utilizada no contexto da SumUp em conjunto com o GitHub Actions para CI/CD. 

O que é o Fastlane? 

Trata-se de uma ferramenta de automação de aplicativos que facilita atividades que normalmente seriam “tediosas” como, por exemplo, a geração de certificados (que serve como prova para a Apple que o desenvolvedor tem a permissão para criar as aplicações) e provisioning profiles (que garante que a aplicação desenvolvida possa ser executada no ecossistema sem comprometer a segurança do usuário final).  

Normalmente, todo esse processo seria feito pointing-and-clicking no Apple Developer Portal em conjunto com a App Store Connect. No entanto, o Fastlane faz tudo de maneira automatizada, através de suas actions dedicadas, facilitando o trabalho, economizando tempo e deixando de enfrentar erros e problemas que seriam comumente encontrados caso todo o processo fosse feito de forma manual. O Fastlane cumpre seu papel através da interação com essas duas plataformas da Apple. 

Além disso, é possível gerar builds para qualquer ambiente que se deseja (development, ad-hoc, enterprise ou app store) e enviá-las para o Testflight ou para qualquer outra plataforma como o App Center da Microsoft, onde pode-se ter acesso a essas builds e realizar testes. 

Por fim, para a submissão e aprovação do app, o Fastlane oferece uma action para fazer o precheck do metadata do app, garantindo que o app está dentro dos conformes estabelecidos pela Apple, afim de evitar que a aplicação seja rejeitada no processo de submissão. Após isso, é possível gerar os screenshots, que são as imagens do app que vão ser exibidas na App Store. Existe um arquivo de configurações que é possível determinar os idiomas suportados, os devices a serem exibidos, legendas, etc. Após todo esse processo, finalmente, o app é entregue ao processo de submissão juntamente com todos esses assets, atráves de uma action conhecida como deliver. 

Como posso usar o Fastlane para iOS? 

Exemplos de como o Fastlane pode ser utilizado:  

  • Criação de novos app e registro destes no Apple Developer Portal e App Store Connect;  
  • Registros de devices na plataforma, para rodar a aplicação em determinados devices; 
  • Criação e gerência de certificados e provisioning profiles para os times de desenvolvimento, através de abordagens que conferem maior confiabilidade utilizando a action match; 
  • Build and packaging;  
  • Envio para Testflight e outras plataformas como o App Center da Microsoft;  
  • Snapshots/Frames;  
  • Submissão para App Store;  
  • Unit Testing, Linting e criação de lanes personalizadas – possibilidade de criação da documentação com base nos comentários do código e envio de notificações para o slack ou outras plataformas;  
  • Integração com plataformas de qualidade e cobertura de código como o Sonarqube. 
  • Integração com o Git. 
  • Existem inúmeros plugins criados pela comunidade e é possível que cada desenvolvedor crie seu próprio conjunto de ferramentas para auxilio no dia a dia. 

Utilizando a action Produce, podemos criar apps via lanes em conjunto com arquivos de configuração como o Appfile, com todas as informações necessárias para criação de apps. Informações que normalmente teríamos que inserir manualmente nas plataformas da Apple. 

É possível utilizar as actions tanto pelo terminal quanto através de lanes, que são funções escritas em Ruby que vão realizar determinada tarefa. É importante destacar que nem todas actions rodam via terminal, mas apenas em lanes. Isto porque, para que seu funcionamento faça sentido, é preciso que esteja em conjunto com outras actions, e isso só é possível através dessas funções. Existe também o Gemfile que é um arquivo com todas as dependências necessárias e é excelente para manter o sistema todo com a mesma versão, evitando problemas. 

É possível escrever lógica dentro das lanes e customizar suas ferramentas através da linguagem Ruby. Inclusive, é possível criar lanes privadas, que só podem ser usadas dentro de outras lanes, apenas. 

Exemplos de arquivos de configuração:  

  • Appfile 
  • Gemfile (configuração das dependências) 
  • Matchfile (específico para criação e gerência de certificados e provisioning profiles)  
  • Gymfile (quando se deseja criar builds da sua aplicação) 
  • Entre outros.  

Recomendação do curso “Kodeco” 

Anteriormente conhecido como raywenderlich.com, a plataforma Kodeco oferece um curso sobre Fastlane para iOS e como utilizar a ferramenta desde o desenvolvimento até a submissão do app na loja. Todo o texto acima foi baseado no conteúdo do curso. O instrutor do curso vai realizando na prática toda a configuração necessária do fluxo que vai desde geração de certificados e profiles até a submissão do app. 

A documentação do Fastlane é muito boa com opção para iOS, Android e outras plataformas como o Flutter. Na seção das actions, cada action está bem detalhada com o seu funcionamento descrito e quais parâmetros são necessários para seu funcionamento. 

No contexto do parceiro SumUp, o time trabalha com vários pods, sendo que o projeto principal possui vários desses pods, que são módulos menores com funções especificas. Ou seja, para gerar versões desses módulos e atualizar no módulo principal, o Fastlane executa automaticamente actions que já faz todo o bump das novas versões. Assim, basta clicar em um botão na opção do workflow do GitHub Actions que essas lanes do Fastlane são chamadas e executam tudo o que seria feito manualmente. 

Fontes:  

http://docs.fastlane.tools/ 

http://www.kodeco.com/1259223-fastlane.for.ios 

http://medium.com/revelo-tech/setting-up-automatic-ios-release-with-fastlane-and-match-on.ci-cd-server-16c3f1d79bc5 

Compartilhe isso:

  • Clique para compartilhar no Twitter(abre em nova janela)
  • Clique para compartilhar no Facebook(abre em nova janela)
  • Clique para compartilhar no LinkedIn(abre em nova janela)

Relacionado

Postado em 06/04/2023

invillia

linkedin logo instagram logo youtube logo twitter logo medium logo

Categorias

  • A Life In My Day 29
  • Agilidade 45
  • Artigos 110
  • Best Minds, Best Where 52
  • Business Expansion 5
  • Cases 14
  • Digital Workplace 17
  • E-book 6
  • Eventos 5
  • Management 3.0 9
  • Notícias 34
  • Produtos Digitais 39
  • Sem categoria 7
  • Tech na Veia 19
  • Vídeos 13
  • Webinars 2

Receba nosso e-book

What makes game-changers love our

Deixe um comentário Cancelar resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Artigos relacionados:

{* Invillia, do zero ao infinite digital power_ 

TypeScript. A tipagem é estática, mas sua carreira não_ 

Invillia e Via indicam os quatro fatores principais que atraem os consumidores para os marketplaces