CocoaPods安装和使用

CocoaPods安装和使用

一、前期准备工作

1.Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将远替换成淘宝的,替换方式如下:$ gem sources --remove https://rubygems.org/  

  1. //等有反应之后再敲入以下命令  
  2. $ gem sources --add https://ruby.taobao.org/

要想验证是否替换成功了可以执行

 $ gem sources -l  

正常的输出是

 *** CURRENT SOURCES ***  

  1.   
  2. https://ruby.taobao.org/

 

2.gem是管理Ruby库和程序的标准包如果它的版本过低也可能导致安装失败解决方案自然是升级gem执行下述命令即可

 

$ sudo gem update --system  

 

二、安装

执行以下命令

 

$ sudo gem install cocoapods  


如果在OS X 10.11上安装cocoapods时出现错误

ERROR:  While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/fuzzy_match


ERROR:  While executing gem ... (Errno::EPERM)

    Operation not permitted - /usr/bin/pod


则使用:

$ sudo gem install -n /usr/local/bin cocoapods 



$ pod setup  

如果执行pod setup命令时报错

  1. /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)  
  2.     from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/site_ruby/1.9.1/rubygems/dependency.rb:309:in `to_spec'  
  3.     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'  
  4.     from /Users/wangzz/.rvm/rubies/ruby-1.9.3-p448/bin/pod:22:in `<main>'  

 

这就是路径设置的问题可以通过执行$ rvm use ruby-1.9.3-p448解决。

升级CocoaPods再次执行安装命令即可

$ sudo gem install cocoapods   (如果不行可用sudo gem install -n /usr/local/bin cocoapods 试试) 

使用

首先进入到工程的根目录下,创建空白的Podfile文件,编辑Podfile,根据需要,我们可以在Podfile文件中写入需要用到的第三方库,以SBJson、AFNetworking、Reachability三个库为例

  1. platform :ios  
  2. pod 'Reachability',  '~> 3.0.0'  
  3. pod 'SBJson', '~> 4.0.0'  
  4.   
  5. platform :ios, '7.0'  
  6. pod 'AFNetworking', '~> 2.0'  
  7.  

你如果不知道cocoaPods管理的库中是否有你想要的库那么你

可以通过pod search命令进行查找,若执行出现

JSON::ParserError - 757错误,将~/Library/Caches/CocoaPods/search_index.json缓存索引文件删除

 

准备工作都完成后开始导入第三方库

  1. $ cd /Users/wangzz/Desktop/CocoaPodsTest  
  2. $ pod install


最近可能由于出国节点的问题,无论是执行pod install还是pod update都卡在Analyzing dependencies不动了,慢到无以复加的地步,无法忍受。 
其实原因在于以上两个命令执行时会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下: 
pod install --verbose --no-repo-update 
或者 
pod update --verbose --no-repo-update  


好容易安装好了然后执行pod install的时候出现

`report': incompatible character encodings:UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)

 

这是编码的问题有两种原因1.你的设备确实不支持utf82.你本身录入文本有问题

1的解决办法

查看编码

$ locale

执行命令后出现

LANG="zh_CN.UTF-8"

LC_COLLATE="zh_CN.UTF-8"

LC_CTYPE="zh_CN.UTF-8"

LC_MESSAGES="zh_CN.UTF-8"

LC_MONETARY="zh_CN.UTF-8"

LC_NUMERIC="zh_CN.UTF-8"

LC_TIME="zh_CN.UTF-8"

LC_ALL=

发现都是zh强制设置一下

$ exportLC_ALL=en_US.UTF-8  

$ export LANG=en_US.UTF-8

再检查一下

LANG="en_US.UTF-8"

LC_COLLATE="en_US.UTF-8"

LC_CTYPE="en_US.UTF-8"

LC_MESSAGES="en_US.UTF-8"

LC_MONETARY="en_US.UTF-8"

LC_NUMERIC="en_US.UTF-8"

LC_TIME="en_US.UTF-8"

LC_ALL="en_US.UTF-8"

好像好了继续pod install

[!] Invalid `Podfile`file: incompatible character encodings: UTF-8 and ASCII-8BIT. UpdatingCocoaPods might fix the issue.

问题依然

把所有可能的配置都试一遍

gem install rails

然后

gem install rdoc

然后

gem install nokogiri--no-ri --no-rdoc

这些都设置完一般不会出现问题了再有问题可能是文本录入的问题

 

2的解决办法,如果你是手动输入的这个需要注意,copy别人的也要检查一下打开键盘偏好设置


设置单引号格式,当然冒号我还没找到怎么设置,一般错误会提示给你哪写错了

这里不再提示utf8的错误了

 

 

 

 


 

 

删除已经配置的类库和移除CocoaPods

http://www.360doc.com/content/14/0818/22/8772388_402931181.shtml

引言

在 使用CocoaPods(一)为项目配置第三方类库 我们使用CocoaPods非常高效地将一些第三方类库导入到我们的项目中,但是不由得产生一个疑问:如果发现某个类库不适用,甚至是整个CocoaPods我们都不想再在项目中持有,那么我们要怎么把这些东西从项目中清理出去呢?本文介绍的就是如何删除一个或若干个已经在项目中配置好的第三方类库,以及如何将整个CocoaPods从项目中移除(不是在终端中卸载)。

删除项目中已经配置的类库

和(一)类似,我们首先新建一个名为CocoaPodsDemo的项目,然后cd到项目目录下新建一个Podfile文件,并编写该文件,内容如下:

platform:ios, '7.0'   pod 'AFNetworking', '~> 2.1.0' pod 'JSONKit', '~> 1.5pre' pod 'MBProgressHUD', '~> 0.8'

相比(一),我们将要加入的JSONKit的版本从1.1升级到1.5 preview版。

然后pod install,可以看到安装是成功的。

打开CocoaPodsDemo.xcworkspace文件,编译一下,会出现报错:

 


原因是JSONKit类库出现了各种各样的问题。

这个时候,我们很自然想到要删掉这个类库,然后尝试使用低版本的JSONKit(这也是我在(一)中为什么用1.1作为示例的原因)。

方法:

1.打开Podfile文件,删除JSONKit该行,即:

platform:ios, '7.0'   
pod 'AFNetworking', '~> 2.1.0' 
pod 'MBProgressHUD', '~> 0.8' 

(如果想换成1.1版本,将被删除的行改成 pod 'JSONKit-NoWarning', '~> 1.1'即可 ) 

2.cd到当前项目目录下,重新执行pod install命令。输出信息如下(留意Removing JSONKit):

$ pod install 
Analyzing dependencies 
Removing JSONKit 
Downloading dependencies 
Using AFNetworking (2.1.0) 
Using MBProgressHUD (0.8) 
Generating Pods project 
Integrating client project

3.重新打开xcworkspace文件,可以看到JSONKit被移除,再次编译将会通过:

 

在项目中移除CocoaPods

如果你觉得CocoaPods让你的项目出现了问题,不好用甚至是恶心,想将其从项目中彻底移除,也有方法:

1.删除工程文件夹下的Podfile、Podfile.lock和Pods文件夹。

2.删除xcworkspace文件。

3.打开xcodeproj文件,删除项目中的libpods.a和Pods.xcconfig引用:

  


4.打开Build Phases选项,删除Check Pods Manifest.lock和Copy Pods Resources:

 


完成,编译运行,无错通过。

个人感觉,从项目中移除某个类库还算是可以的,但是移除整个CocoaPods就有点麻烦了(也可能是我没有找对方法),希望CocoaPods能作出改进。

另外,如果在编辑工程时不小心删除了某个文件,如Podfile.lock,那么我们就要用上面的方法先移除整个CocoaPods,然后重新建立Podfile和使用pod install命令重装CocoaPods(有够麻烦的)。



卸载cocoPods

1、如果之前装过cocopods,最好先卸载掉,卸载命令:
$ sudo gem uninstall cocoapods
2、先查看本地安装过的cocopods相关东西,命令如下:
$ gem list --local | grep cocoapods
会显示如下:
cocoapods-core (0.39.0)
cocoapods-downloader (0.9.3)
cocoapods-plugins (0.4.2)
cocoapods-search (0.1.0)
cocoapods-stats (0.6.2)
cocoapods-trunk (0.6.4)
cocoapods-try (0.5.1)
然后逐个删除吧:
$ sudo gem uninstall cocoapods-core
。。。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值