Cocoapods在项目中的使用

引言

Cocoapods是在Mac OSX和iOS应用程序上利用ruby的依赖管理gem来构建的的一款第三库依赖的管理工具,通过它可以很方便的去管理项目中的三方库,随着版本的迭代可以快速升级第三方库版版本,也能够搜索出比较有价值的三方库,同时还为开发者自动配置好编译器的各种设置选项,为开发者节省大量没有技术含量去设置build phasese和link flags.

Cocoapods的核心组件

  1. Cocoapods/Cocoapod

    该组件包含了Cocoapods的基本功能,每当使用pod命令时都能够激活该组件.

  2. Cocoapods/Core

    该组件支持了Cocoapods的Podfile和Podspec文件处理.

  3. Podfile

    在此文件里面我们可以高度自定义指定所需的三方库版本号等.

  4. Podspec

    该文件描述了一个库是怎样被添加到工程里的,可以列出源文件指定库的依赖关系.

  5. Cocoapods/XcodeProj

    创建.xcWorkSpace .xcodeProj,整合所有工程文件.

Cocoapods的安装

  • 更新ruby源,因为亚马逊的被墙了所以使用淘宝的ruby源
1
2
3
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l
  • 用gem命令开始安装Cocoapods
1
sudo gem install Cocoapods

备注

1
2
3
4
如果出现
While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
执行 sudo gem install -n /usr/local/bin cocoapods开通权限安装
  • 创建podfile并自定义需要的三方库
1
2
3
4
5
6
7
1. touch podfile (创建podfile文件)
2. vi podfile
3. platform :ios
pod 'SVProgressHud', '~> 2.0'
pod 'Reachability', '~> 3.0.0'
pod 'AFNetWorking'
pod 'ShareSDK'
  • 完成三方库定义之后更新设置Cocoapods
1
pod update (时间会有点久换另一种方式)
  • 查找三方库
1
pod search ***
  • 在执行pod update 或者pod install的时候屏蔽更新podspec索引
1
pod install --verbose --no-repo-update(如果被墙了可以用这个)
  • 为某个三方库生成podspec文件,指定依赖可以用这个
1
pod spec create your_pod_spec_name (会生成一个.podspec的文件)
  • 创建私有的pods
1
2
pod 'MJRefresh', :podspec => 'https://haodf.com/MJRefresh/
MJRefresh.podspec'

此时我们完成了最基本的使用.

总结

以上命令都是亲自项目中实践过的包括一些异常,有不恰当的地方尽情指正