写在前面
这篇文章是之前的一个笔记,拿出来也算是做一个小的分享,因为写得比较早,所以有些地方可能有所改动,比如cocoapods.org地址,之前大家都是用的是淘宝的镜像,不过现在需要使用https://gems.ruby-china.org/了。这点希望在读此文章是注意一下,另外,如有不对或需要改进的,也希望给我留言,以达到知识分享。
本文重新整理于2018年5月19日
安装:
1.升级Ruby环境,控制台输入:
gem update --system
2.安装CocoaPods时我们要访问cocoapods.org,用淘宝的RubyGems镜像来代替官方版本,
控制台输入:
gem sources --remove https://rubygems.org/
然后再输入:
$ gem sources -a https://ruby.taobao.org/
gem sources -a https://gems.ruby-china.org/
为了验证你的Ruby镜像是并且仅是taobao,控制台输入:
gem sources -l
3.安装Cocoapods,控制台输入:
gem install cocoapods
或者使用
gem install cocoapods -n /usr/local/bin
等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。
如果出现:
则使用如下指令代替:
sudo gem install -n /usr/local/bin cocoapods —pre
使用
1.使用search命令搜索类库名,控制台输入:
pod search AFNetworking
从这个图上,我们看到AFN有好多版本,最新的版本是3.0.4.
2.打开xcode,新建一个工程,工程名为CocoapodsSample。关闭工程,在控制台使用命令cd,cd后面跟的是工程目录名,可以直接拉进来,输入命令创建Podfile文件,控制台输入:
touch Podfile
然后在跟目录下会多一个Podfile文件。
3.使用vim编辑podfile文件,控制台输入:
vim Podfile
然后在Podfile文件中输入以下文字:
platform :ios, '8.0'
target 'CocoaPodsTFW' do
pod 'AFNetworking', '3.0.4'
end
这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 9.0, 要下载的AFNetworking版本是3.0.4。双引号可以换成单引号。
在编辑完后按 esc,然后按":",这个时候输入wq保存退出。
4.这时候,你就可以利用CocoPods下载AFNetworking类库了m在控制台输入:
pod install
安装成功后,如下图:
这个时候,会看到多了一个.xcworkspace工程,以后打开项目就用 CocoapodsSample.xcworkspace 打开,而不是之前的.xcodeproj文件。
5.打开 CocoapodsSample.xcworkspace 工程,你会惊喜地发现,AFNetwoking已经成功导入项目了。
现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:
#import <AFNetworking.h>
或者
#import "AFNetworking.h"
然后编译,看看是否出错。
6.如何解决问题
如果有一些包已经存在了,或者我们更改了Podfile里面的版本,可以使用以下命令更新
pod update
如果pod install 卡住不动,可以尝试使用以下命令:
pod install --no-repo-update
如果使用search时,出现提示:[!] Unable to find a pod with name, author, summary, or description matching AFN
:
pod setup
如果问题依然存在,在终端输入:
rm ~/Library/Caches/CocoaPods/search_index.json~~
如果pod update 卡住:Performing a deep fetch of the master
specs repo to improve future performance
sudo rm -fr ~/.cocoapods/repos/master
如何发布自己的开源框架到CocoaPods
详细可以参考利用CocoaPds管理代码
1.开源库发布之后,需要打上tag;
2.进入到项目根目录下,创建podspec文件:
pod spec create PodName
3.编辑podspec文件中的相关信息,有两个比较重要的地方s.source和s.source_files,可以验证是否有误:
pod spec lint PodName.podspec
4.注册pod trunk:
pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
5.发布到pod trunk:
pod trunk push [NAME.podspec]
该命令在包含有.podspec文件的目录下执行
6.更新pod库
pod setup
附:更多实用可以查询命令的使用方法。
关于Podfile文件编辑时,第三方库版本号的各种写法:
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本