Cocoapods安装及使用教程

2016/06/30

利用rvm管理ruby版本,使用ruby环境下的gem安装cocoapods

一、cocoapods安装

1.安装rvm

  • 安装
curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
  • 如果网速较慢,修改rvm的ruby安装源镜像路径
sed -i -e 's/ftp\.ruby-lang\.org\/pub\/ruby/ruby\.taobao\.org\/mirrors\/ruby/g' ~/.rvm/config/db

2.安装ruby

  • 列出已知的ruby版本
rvm list known
  • 安装指定的ruby版本
rvm install 1.9.3
  • 使用指定ruby版本
rvm use 1.9.3
  • 将指定的ruby版本设为默认
rvm use 1.9.3 --default
  • 查询已安装的ruby版本列表
rvm list
  • 卸载指定的ruby版本
rvm remove 1.9.2

3.安装cocoapods

  • 查看当前ruby版本
ruby -v
  • 移除现有ruby默认源
gem sources --remove https://rubygems.org/
  • 添加gem镜像源
gem sources -add https://ruby.taobao.org/
  • 验证新源路径
gem sources -l
  • 更新gem
sudo gem update --system
  • 安装或升级cocoapods
// 原命令为
sudo gem install cocoapods
// OS X 系统升级后改为
sudo gem install -n /usr/local/bin cocoapods

pod setup

二、cocoapods使用

  • 搜索第三方库
pod search XXX
  • cd到指定文件夹目录后创建Podfile文件
touch Podfile
  • 使用vim编辑文件
vim Podfile
  • 编写文件内容
// 指定路径
xcodeproj "/Users/XXX/XXX/XXX.xcodeproj"

// 所有的target使用相同的第三方依赖配置
link_with 'TargetName1', 'TargetName2'

// 指定iOS版本号
platform:ios, '8.0'
// 添加所需第三方库
pod 'AFNetworking', '~> 2.3.1'
// 退出vim时输入:wq

source 'https://github.com/CocoaPods/Specs.Git'
platform :ios, '6.1'
// 不同的target使用不同的第三方依赖配置
target :TargetName1 do
    pod 'MKNetworkKit'
    pod 'MBProgressHUD'
    pod 'IQKeyboardManager'
    pod 'Toast'
end
  • 安装pod导入第三方库
pod install

若只需更新则直接update

pod update

若存在警告则打开工程,为每个target的,build setting里的四个地方,增加$(inherited)。

Other Link Flags
Library search Paths
Header search Paths
Framework search Paths

更新本地资源库

pod repo update

三、常用命令及参考

  • cocoapods帮助
pod -h
  • cocoapods安装路径
~/.cocoapods
  • 查看目录下文件大小
du -sh *
  • 若网络条件较差,不更新资源库,则更新podfile时可使用:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
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的版本  
pod 'AFNetworking', '~>0.1'     //使用大于等于0.1但小于1.0的版本  
pod 'AFNetworking', '~>0'     //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

四、建立自己的Podspec

1.Github上托管开源仓库

  • Github上创建仓库并clone进入本地目录
git clone https://github.com/SilverBulletZyp/ZYP_HomeViewController.git
  • 完善好本地目录下的项目

  • 初始化本地项目的podspec

pod spec create ZYP_HomeViewController
  • 填写tag
// 创建tag
git tag '1.0.0'
git push --tags // push不上去可先删除
// 查看tag
git tag
//删除一个指定的tag,并上传一个空tag到远程tag
git tag -d <tagname>
git push origin :refs/tags/<tagname>
  • 填写.podspec
Pod::Spec.new do |s|
  s.name         = "ZYP_HomeViewController"
  s.version      = "1.0.2"
  s.summary      = "ZYP_HomeViewController for Project Homepage."
  s.description  = <<-DESC
            a simple way to add Controllers and show in tableview
                   DESC
  s.homepage     = "https://github.com/SilverBulletZyp/ZYP_HomeViewController"
  s.license      = "MIT"
  s.author             = { "zyp" => "807536782@qq.com" }
  s.platform     = :ios
  s.source       = { :git => "https://github.com/SilverBulletZyp/ZYP_HomeViewController.git", :tag => "#{s.version}" }
  s.source_files  = "ZYP_HomeViewController/Base/**/*.{h,m}"
  • 验证是否可用
pod lib lint --allow-warnings // 验证是否可用(allow-warnings允许报错)
pod lib lint --verbose // 查看详细错误信息
// 若可用则
ZYP_HomeViewController passed validation.
  • 推送podspec文件至CocoaPod官方库
// 注册cocoapods账号(--verbose便于输出调试信息)
pod trunk register <email> '<password>'  --verbose
// 确认邮件后也可再次查看自己注册信息
pod trunk me
// 也可添加其他开发者
pod trunk add-owner <email>
// 推送到官方库(忽略警告)
pod trunk push ZYP_HomeViewController.podspec  --allow-warnings
  • 查看结果
🎉  Congrats

🚀  ZYP_HomeViewController (1.0.2) successfully published
📅  August 9th, 02:40
🌎  https://cocoapods.org/pods/ZYP_HomeViewController
👍  Tell your friends!

Post Directory