English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Método detalhado de uso do CocoaPods no iOS

I、O que é CocoaPods

1、Por que precisamos de CocoaPods
Quando se desenvolve iOS, é inevitável usar bibliotecas de código aberto de terceiros, como SBJson, AFNetworking, Reachability e outras. Quando se usa essas bibliotecas, geralmente é necessário:

Baixar o código-fonte da biblioteca de código aberto e adicioná-lo ao projeto.
Adicionar ao projeto o framework usado pela biblioteca de código aberto.
Resolver as dependências entre bibliotecas de código aberto e entre bibliotecas de código aberto e projetos, verificar frameworks duplicados adicionados, e outros problemas.
Quando uma biblioteca de código aberto é atualizada, ainda é necessário excluir a biblioteca de código aberto usada no projeto, executar os três passos anteriores novamente, e a cabeça já está grande...
Desde que o CocoaPods foi introduzido, essas tarefas complexas não precisam mais ser feitas manualmente. Basta fazer uma configuração mínima e o CocoaPods cuidará de tudo!

2、O que é CocoaPods
CocoaPods é uma ferramenta que nos ajuda a gerenciar bibliotecas de dependência de terceiros. Ele pode resolver as dependências entre bibliotecas, baixar o código-fonte das bibliotecas, e, ao criar um workspace do Xcode, conectar essas bibliotecas de terceiros ao nosso projeto, para que possamos utilizá-las no desenvolvimento.

O objetivo do uso do CocoaPods é nos permitir gerenciar automaticamente, de forma centralizada e intuitiva, bibliotecas de código aberto de terceiros.

II、Instalação do CocoaPods

1、Instalação
CocoaPods é implementado em Ruby, para usá-lo, primeiramente, é necessário ter o ambiente Ruby. Felizmente, o sistema OS X padrão já pode executar Ruby, portanto, basta executar os seguintes comandos:

$ sudo gem install cocoapods 

CocoaPods é instalado na forma de pacote Ruby gem. Durante o processo de instalação, pode ser perguntado se queremos atualizar o rake, digite y. Isso é porque o pacote gem rake verificará com mais detalhes durante a instalação, e se houver uma nova versão disponível, aparecerá a opção anterior.
No final do processo de instalação, execute o comando:

$ pod setup

Se não houver erro, isso significa que a instalação foi bem-sucedida!
2、problemas que podem ser encontrados durante a instalação
①Após executar o comando install, não há reação por meia hora
Isso pode ser devido ao fato de que o repositório padrão do Ruby usar cocoapods.org, e às vezes pode haver problemas ao acessar esse site no Brasil. Uma solução proposta pela internet é substituir o远方 por Taobao, conforme a seguinte maneira:

$ gem sources --remove https://rubygems.org/ 
//depois de obter respostas, digite os seguintes comandos 
$ gem sources -a http://ruby.taobao.org/ 

Para verificar se a substituição foi bem-sucedida, execute:

$ gem sources -l 

A saída normal é:

*** CURRENT SOURCES *** 
http://ruby.taobao.org/ 

②versão antiga do gem
O gem é o pacote padrão para gerenciar bibliotecas Ruby e programas, se sua versão for muito antiga, também pode levar à falha na instalação, a solução natural é atualizar o gem, execute o comando a seguir:

$ sudo gem update --system 

③Após a conclusão da instalação, ao executar o comando pod setup, é apresentado um erro:

/Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:298:in `to_specs': Could not find 'cocoapods' (>= 0) among 6 total gem(s) (Gem::LoadError)
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/core_ext/kernel_gem.rb:53:in `gem'
	from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'

Este é o problema de configuração de caminho, que pode ser resolvido através da execução:

$ rvm use ruby-1.9.3-p448 

solucionar esse problema.
3、atualizar CocoaPods
A atualização é simples, execute novamente o comando de instalação:

$ sudo gem install cocoapods 

É necessário notar que, se foi usado sudo durante a instalação, também é necessário usar essa palavra-chave durante a atualização, caso contrário, após a atualização, surgirá novamente o problema de não coincidir o caminho.


Terceiro, usar o CocoaPods
Se tudo tiver corrido bem até agora, você pode experimentar os encantos do CocoaPods em seguintes etapas:

Para demonstrar esse processo, criei um projeto chamado CocoaPodsTest.

1、criar Podfile
Tudo no CocoaPods começa com um arquivo chamado Podfile. Precisamos criar esse arquivo primeiro. A minha habitude é usar a linha de comando, e eu vou fazer assim:

$ cd /Users/wangzz/Desktop/CocoaPodsTest
$ touch Podfile

Primeiro, entre no diretório raiz do projeto e crie um arquivo Podfile em branco. A estrutura do diretório após a criação é conforme a figura a seguir:

(PS: O arquivo Podfile também pode não estar no diretório raiz do projeto, o que pode ser um pouco mais complicado. Isso será abordado no próximo artigo, por favor, fique atento.)

2、editar Podfile
Segundo necessário, podemos escrever bibliotecas de terceiros necessárias no arquivo Podfile. Tomando como exemplo as bibliotecas SBJson, AFNetworking e Reachability, o conteúdo do meu Podfile é como follows:

platform :ios
pod 'Reachability', '~>' 3.0.0'
pod 'SBJson', '~>' 4.0.0'
platform :ios, '7.0'
pod 'AFNetworking', '~>' 2.0'

3、executar o comando de importação
Após a conclusão de todas as preparações, comece a importar bibliotecas de terceiros:

$ cd /Users/wangzz/Desktop/CocoaPodsTest
$ pod install

Primeiro, entre no diretório raiz do projeto e execute o comando pod install. O CocoaPods começará a fazer uma série de trabalhos para nós, como baixar o código-fonte, configurar dependências e importar os frameworks necessários, e o resultado da execução do comando é impresso conforme a seguir:

Analisando dependências
Baixando dependências
Instalando AFNetworking (2.1.0)
Instalando JSONKit (1.5pre)
Instalando Reachability (3.0.0)
Gerando projeto Pods
Integrando projeto cliente
[!] A partir de agora, use `CocoaPodsTest.xcworkspace`.

Isso significa que o comando pod install foi executado com sucesso. Vamos ver também as mudanças ocorridas no diretório raiz do projeto, conforme a figura a seguir:

Pode ver que, no diretório raiz do projeto, foram adicionados três itens: CocoaPodsTest.xcworkspace, o arquivo Podfile.lock e o diretório Pods.

(PS: Devido ao espaço limitado, o arquivo Podfile.lock será apresentado no próximo artigo da série. Por favor, fique atento。)

Vamos ver a última linha do conteúdo impresso após a execução da comando `pod install`:

[!] A partir de agora, use `CocoaPodsTest.xcworkspace`.

A sugestão é que a partir de agora, precisamos usar o arquivo CocoaPodsTest.xcworkspace para desenvolvimento.
Sobre as mudanças ocorridas no projeto, há alguns pontos a serem mencionados:

As bibliotecas de terceiros serão compiladas em uma biblioteca estática para uso em nosso projeto real


O CocoaPods organizará todas as bibliotecas de terceiros em forma de target, formando um projeto chamado Pods. Este projeto está localizado no diretório recém-criado Pods. Todo o projeto de biblioteca de terceiros gerará um arquivo estático chamado libPods.a para uso pelo nosso projeto CocoaPodsTest.

Nosso projeto e o projeto das bibliotecas de terceiros estarão sob o gerenciamento de um workspace recém-criado
Para facilitar a gestão direta do projeto e das bibliotecas de terceiros, o projeto CocoaPodsTest e o projeto Pods serão organizados e gerenciados em forma de workspace, ou seja, o arquivo CocoaPodsTest.xcworkspace que vimos recentemente.

As configurações originais do projeto foram alteradas. Neste momento, se abrirmos o arquivo do projeto original para compilar, aparecerá um erro. Somente podemos usar o workspace recém-criado para gerenciar o projeto.

Abra o CocoaPodsTest.xcworkspace, a interface é a seguinte:

A estrutura de diretórios do projeto ainda é muito clara.

Para referenciar o cabeçalho da biblioteca de terceiros adicionada recentemente no projeto, execute a operação de compilação e terá sucesso!
Até aqui, o capítulo de uso do CocoaPods se encerra. A seguir, planejamos introduzir algo um pouco mais profundo sobre CocoaPods em uma nova seção. Por favor, fique atento.

Quarto, Referências

1、http://código4app.com/artigo/cocoapods-instalação-uso
2、http://cocoapods.org/

Você também pode gostar