Quando se trabalha com modularização de aplicativos iOS, geralmente é necessário realizar muitas alterações no código que está no framework. O caminho mais fácil é ter o módulo em sua máquina, fazer o projeto principal apontar para ele e receber essas alterações de forma rápida. Claro que antes de levar o framework para o app, trabalha-se primeiro em um projeto exemplo dentro do workspace do mesmo.
Após implementar as funcionalidades pretendidas, é preciso levar o framework para o app e ver se tudo está funcionando como esperado. Aqui entra o problema a ser resolvido.
Como adicionar dependências ao projeto utilizando Carthage?
Primeiro você cria um Cartfile
e em cada linha é adiciona o nome dos frameworks desejados. Para isso é utilizado a seguinte notação:
github "Nome do framework" versão
Se o framework desejado for privado ou, simplesmente, você quiser apontar para sua URL, pode ser passado o link do repositório:
git "https://link/do/repo.git" versão
Mas, essa opção para uso de repositório privado gera muita "dor de cabeça". Pois, para qualquer alteração é necessário fazer o push das mesmas, depois atualizar o projeto, contar com a estabilidade da sua conexão e assim lá se vão preciosos segundos ou até minutos do seu tempo.
A solução é apontar seu Cartfile
para um repositório local, assim:
git "file:///path/do/projeto"
Dica 1: Não precisa colocar .git
no final da URL.
Dica 2: Você pode trabalhar com branchs? Sim! E para fazer isso basta seguir essa notação:
git "file:///path/do/projeto" "nome branch"
Dica 3: Use o terminal ao seu favor. Para conseguir o caminho do seu repositório, utilize o comando $ pwd
dentro do diretório.
Dica 4: E agora José, como utilizo o framework local sendo que ele não tem nome e aponta pra um path
na minha maquina?
Tomando como exemplo, que o caminho para seu framework é:
$ ~/projetos[meu_framework]
Agora é só rodar o comando de update do Carthage apontando para o módulo local, assim:
carthage update [meu_framework]
Fontes:
https://github.com/Carthage/Carthage
https://github.com/Carthage/Carthage/blob/master/Documentation/Artifacts.md#cartfile
Top comments (0)