CocoaPods的使用

CocoaPods基于Ruby语言开发而成,因此安装CocoaPods前需要安装Ruby环境。幸运的是Mac系统默认自带Ruby环境

参考网站

gem介绍:gem是一个管理Ruby库和程序的标准包,它通过Ruby Gem源来查找、安装、升级和卸载软件包,非常的便捷。


检测是否安装Ruby,如果报错,请保证Xcode.app在Applications路径下且没有被重命名

Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ gem -v
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
2.0.14.1

查看安装的Ruby源

Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ gem source -l
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
*** CURRENT SOURCES ***

https://rubygems.org/


开始安装CocoaPods

Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ sudo gem install cocoapods
Password:
/System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/lib/ruby/2.0.0/universal-darwin16/rbconfig.rb:213: warning: Insecure world writable dir /usr/local/bin in PATH, mode 040777
Successfully installed cocoapods-1.2.0
Parsing documentation for cocoapods-1.2.0
1 gem installed


创建项目
cd 到你的工程根目录下,执行运行命令,然后就会生成podfile文件了

Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ pod init

Podfile内容

# Uncomment the next line to define a global platform for your project
platform :ios, '8.0'
target 'MyCocoaPodDemo' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!
# Pods for MyCocoaPodDemo
# 这样写表示下载3.1.0版本
pod 'AFNetworking', '~> 3.1.0'
# 这样写表示下载最新版本
pod 'MJRefresh'
# 单引号不能删,否则报错Podfile不合法
pod 'SAMKeychain'
end

在podfile文件增加所需的第三方库,然后执行以下命令

Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ pod install
1.分析依赖:该步骤会分析Podfile,查看不同类库之间的依赖情况。
如果有多个类库依赖于同一个类库,但是依赖于不同的版本,那么cocoaPods会自动设置一个兼容的版本。
2.下载依赖:根据分析依赖的结果,下载指定版本的类库到本地项目中。
3.生成Pods项目:创建一个Pods项目专门用来编译和管理第三方框架,
CocoaPods会将所需的框架,库等内容添加到项目中,并且进行相应的配置。
4.整合Pods项目:将Pods和项目整合到一个工作空间中,并且设置文件链接。

如果需要引入或删除类库,只需要修改Profile文件后执行以下命令即可

Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ pod update
输出内容同上

如果需要模糊搜索第三方库,可以执行以下代码

Gigabud-MacBookAir:MyCocoaPodDemo wei.zhang$ pod search MJRefresh
执行wq命令或者ctrl+z可以退出编辑模式,输入其他命令

在使用时,导入第三方库,应是 < >

#import <UIImageView+WebCache.h>
#import <AFNetworking.h>


常见问题

install,update速度慢
出现原因:你本地的repo库太长时间没有更新了
解决办法:pod repo update
原因在于当执行以上两个命令的时候会升级CocoaPods的specs仓库,如果不想在install,update的时候升级specs库,可以使用参数忽略掉
pod install --no-repo-update
pod update --no-repo-update

[!] Please close any current Xcode sessions and use MyDemo.xcworkspace for this project from now on.
这句话的意思是:以后打开工程就用 MyDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。你也许会郁闷,为什么会出现.xcworkspace文件呢。这正是你刚刚运行pod install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。点击 MyDemo.xcworkspace 打开工程之后,你会发现工程目录多了一些,你会惊喜地发现,AFNetwoking和MJRefresh已经成功导入项目了!

如果是OC项目,只需在使用的文件中导入该类库的头文件即可。

推荐阅读更多精彩内容

  • 一. CocoaPods的介绍 什么是CocoaPods?CocoaPods是一个负责管理iOS项目中第三方开源库...
    辉712阅读 2,839评论 0 7
  • 1、Ruby环境搭建 下载安装CocoaPods需要Ruby环境 ,Mac OS X 本身自带Ruby, 安装 R...
    Chris_js阅读 541评论 0 6
  • 前言 前几天发布我的开源库<最简单方便的iOS轮播开源库:JYCarousel>到CocoaPods的时候。对Co...
    Dely阅读 12,677评论 12 75
  • 这一段做项目会用到一些开源库比如VLC,七牛云存储都是需要用CocoaPods才能运行,索性把这个总结一下 通过C...
    寒桥阅读 383评论 0 1
  • 11月、12月要读的是这本书,高级软件测试-高级软件测试经理,加油! 1)测试过程笔记 2)测试经理笔记 基于风险...
    灼灼2015阅读 171评论 0 3
  • 心里无怨恨都在那个男人张口说话的时候散开,失望堆积的绝望怨恨反反复复的夜里堵在胸口,最终还是忍住了,已经决定结束又...
    维巍阅读 51评论 0 0
  • 291028~魏鸿超 2017-04-13(连续第60天总结) 今日目标完成情况: 1. 抄写提问/目标细分概念/...
    a0001911cc5a阅读 86评论 0 0
  • 无意中看到这样的一个事情:小区的花园里有两个秋千,平时周末家长都会带小朋友来荡秋千,有时候 “僧多粥少” ,就只能...
    我是大姐姐喔阅读 406评论 0 0
  • “男人出轨的理由就像海绵里的水,挤挤总会有的。” ❤ 好像没有选择,仿佛退无可退 怎么样,着急不。前排的瓜都快吃完...
    丁小米米米阅读 796评论 1 4