⑴ 如何安装 CocoaPods
iOS 最新版 CocoaPods 的安装流程
1.移除现有Ruby默认源
$gem sources --remove https://rubygems.org/
2.使用新的源
$gem sources -a https://ruby.taobao.org/
3.验证新源是否替换成功
$gem sources -l
4.安装CocoaPods
(1) $sudo gem install cocoapods 备注:苹果系统升级 OS X EL Capitan 后改为$sudo gem install -n /usr/local/bin cocoapods
(2) $pod setup
5.更新gem
$sudo gem update --system
6. 新建工程,并在终端用cd指令到文件夹内
$pod search 第三方
7.新建文件 vim “Podfile”,
$vim Podfile
写入以下内容并保存 小提示:(终端vim文件 按 i 可编辑 ,esc 退出编辑,:wq 可保存退出)
platform:ios, '6.0'
pod 'AFNetworking', '~> 2.3.1' <-------第三方
8.导入第三方库
$pod install
9.退出终端
以下是我用以前的安装流程安装时出现的一些错误
终端 cocoapods 下载bug调试:
错误1:
Error fetching http://ruby.taobao.org/:
bad response Not Found 404 (http://ruby.taobao.org/specs.4.8.gz)
解决方案:把安装流程中 $gem sources -a http://ruby.taobao.org/ ---改为---->$gem sources -a https://ruby.taobao.org/
错误2:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
解决方案:苹果系统升级OS X EL Capitan后会出现的插件错误,将安装流程 4.安装CocoaPods 的 (1)sudo gem install cocoapods ——>改为sudo gem install -n /usr/local/bin cocoapods
错误3:
[!] Unable to satisfy the following requirements: - `AVOSCloud (~> 3.1.6.3)` required by `Podfile`
Specs satisfying the `AVOSCloud (~> 3.1.6.3)` dependency were found, but they required a higher minimum deployment target.
解决方案:安装流程:Podfile文件 中 platform:ios, ‘6.0’ 后边的 6.0 是平台版本号 ,一定要加上
⑵ Cocoapods,让iOS开发更简单(三):实践经验汇总
相信各位读了之前的两篇文章,对pods的使用已经相当熟练了。不过在纷繁复杂的实际使用场景下,可能还是会遇到一些问题。本文就结合自己的实践经验,做一些快问快答,希望大家能多多补充交流。话不多说,那我们就即刻开始吧!
pod系列文章
Cocoapods,让iOS开发更简单(一):走近Cocoapods
Cocoapods,让iOS开发更简单(二):创建私有库
Cocoapods,让iOS开发更简单(三):实践经验汇总
一文带你快速分清静态库-动态库-Framework
一般推荐使用指定版本或范围版本号,以确保依赖的稳定性。
总结 :能用pod install解决问题的,就不要用pod update。因为pod update会把依赖库全部检查一遍,不仅慢有时候还会出现坑。
忽略Pods警告,有些第三方Pod集成进来会有一大堆警告信息,在Podfile中对应的target或分组下加上关键字inhibit_all_warnings!就可以把警告忽略。
作用:
在pods中用frameworks替代.a静态库。
场景:
swift项目pods默认开启(use_frameworks!),OC项目pods默认关闭(#use_frameworks!),同时需满足以下两点,
解析:
swift工程依赖了OC工程的话,需要use_molar_headers!
示例:
为某个 Pods 使用模块化标头,可以使用以下语法:
pod 'TestPodLib', :molar_headers => true
另外,当全局使用 use_molar_headers! 属性时,同时还可以使用以下方法从模块化标头中排除特定的Pod:
pod 'TestPodLib', :molar_headers => false
版本格式:主版本号.次版本号.修订号,版本号递增规则如下:
常用的方式调用pod中的素材是不生效的,因为默认是从mainBundle中读取的,如
打在pod中的素材已经不在mainBundle中而在对应组件下的bundle 里面,所以应该这么调用:
在用CocoaPods集成第三方库之后,默认情况下,使用类似#import <XXX/YYY.h>的方式引入第三方库的头文件。
pod search只会搜索本地缓存的库,如果想搜索到最新的第三方框架或者某个框架的最新版本,必须先使用pod repo update。
⑶ 怎么查看cocoapods导入的第三方库版本
首先需要下载安装CocoaPods,系统要求有ruby环境,至少OS X 10.9以后是自带ruby环境的(Python也自带了),使用“ruby -v”命令可以查
看当前ruby版本。
配置过程如下:
1.ruby环境
不放心的话可以先确认下ruby环境,据说由于GFW的影响,大都把Ruby镜像指向taobao的(其实上个月第一次用的时候没有设置,现在为了稳定性还是换吧),执行以下命令:
2.下载CocoaPods
执行如下命令:
sudo gem install cocoapods
3.使用CocoaPods
安装完成后即可使用了,通过CocoaPods来下载使用第三方类库,首先要检查CocoaPods是否支持目标类库,虽然大多数都是支持的。
比如检查是否支持AFNetworking,执行命令“pod search AFNetworking”,即可看到相关信息。
下面举个例子如何在一个名为“DemoMap”的项目里使用CocoaPods管理第三方类库,进入项目所在目录,并建立Podfile(配置文件)
执行两条命令:
cd /hou/DemoMap vim Podfile
按下“i”,进入编辑模式,在Podfile中输入以下信息(根据GitHub中提示信息获得):
platform :ios, '7.0' pod "AFNetworking", "~> 2.0"
按下ESC键,退出编辑模式,输入:wq,进行保存操作。
输入pod install开始自动下载并配置好,以后打开项目用.xcworkspace后缀的文件即可。
Pods文件夹中存放的就是下载好的第三方依赖库。
打开后可以发现,项目工程中已经自动引入了AFNetworking。
在工程里引用头文件后就可以直接使用了。如果类库有更新,可以按照第3步的办法对配置文件进行更新,然后执行“pod update”即可。
⑷ 如何用不同版本的cocoapods对工程进行管理
遇到的问题:
1、进行bundle install的时候提示这样的问题,如图:
“unable to access 'https://github.com/CocoaPods/CocoaPods.git/': Empty reply from server”,解决方式是通过ssh进行访问。(link here)
2、期间我有更改gem中的source为rubyChina源,但是由于“Runningbundle installwill get the versions from master. As CocoaPods is multiple gems, you may have to includeother dependencieslike above.”,提示找不到依赖的“CLAide”,乖乖将rubyChina源更改为ruby.org,然后重新运行,发现提示:cocoapods-core依赖有问题,二话不说,在gemfile中将cocoapods-core版本固定为“gem 'cocoapods-core', '1.1.0.rc.2'”。
3、在bundle install的时候又有“JSON Build error : 'ruby/config.h' file not found”的错误提示,继续google,发现:ruby/config.h not fount,根据反馈可能是command line tools的问题,解决方案就是安装command line tools(link here),安装后,重新执行bundle install.问题解决
其他:如果觉的每次切换cocoapods后使用的bundle exec过于麻烦,我们可以通过alisa将命令简化:linux下自定义命令alias