CocoaPods使用总结

安装准备:

在终端中操作,首先通过3和4检查ruby源和版本

  1. 移除现有Ruby默认源
    gem sources --remove https://rubygems.org/

  2. 使用新的源
    gem sources -a https://gems.ruby-china.com/
    "https://ruby.taobao.org/" 不能用了

  3. 验证新源是否替换成功
    gem sources -l

  4. 检查 gem 版本号
    sudo gem -v
    升级gem
    sudo gem update —system
    如果报错:

    ERROR: While executing gem ... (OptionParser::AmbiguousOption)
    ambiguous option: -system

    安装RVM:
    curl -sSL https://get.rvm.io | bash -s stable
    查看版本:
    ruby -v
    已知版本:
    rvm list known
    安装版本:
    rvm install 2.4.1

安装CocoaPods

(1)sudo gem install -n /usr/local/bin cocoapods
输入电脑密码, 回车等待.
(2) pod setup
需要一段时间.

如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup.
命令如下:
pod repo remove master
pod setup
如果安装成功,~/.cocoapods下文件夹会有几百M.

更新CocoaPods版本:

sudo gem update cocoapods
查看版本: pod --version

CocoaPods使用:

搜索三方库:

pod search 库名

添加三方库:
  1. 在终端cd到工程文件夹内,新建文件 “Podfile”, 下边(1)和(2)任选其一:
    1).vim Podfile
    写入2)的内容并保存.

    提示: 终端vim文件按 i 可编辑 , esc 退出编辑, : wq 可保存退出

    2).pod init
    然后在Xcode中打开podfile文件,如果用TextEdit打开修改Podfile, pod install后会报警告:

    [!] Your Podfile has had smart quotes sanitised. To avoid issues in the future, you should not use TextEdit for editing it. If you are not using TextEdit, you should turn off smart quotes in your editor of choice.

    里面的样式如下:

# Uncomment the next line to define a global platform for your project
# platform :ios, '9.0'  // 最低支持的系统版本

target 'targetName' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!

# Pods for sync
// pod 'AFNetworking'  
end

2.导入第三方库
pod update(比较慢)
或者pod install
或者pod update --no-repo-update

如果不想在pod update的时候升级repo库 ,可以忽略掉,使用pod update --no-repo-update,比较快, 但是如果github上pods的三方库有新版本了,你本地搜索到的还是旧版本,新版本是无法装配的,所以每隔一段时间最好执行一下pod repo update
--verbose是打印详细信息.

出现Setting up CocoaPods master repo,cd 到~/.cocoapods,如果repos文件夹大小一直没有变化, 因为墙阻挡了cocoapods.org。

oschina是国内的服务器, 可以用它们CocoaPods索引库的镜像:

  • pod repo remove master
  • pod repo add master http://git.oschina.net/akuandev/Specs.git
  • pod repo update

第二条命令执行的时候会比较耗时,要去把整个specs仓库clone一下,下载到 ~/.cocoapods里, cd 到~/.cocoapods,
du -sh *命令来查看文件大小,需要等待一段时间,这个目录最终大小是几百M,每个CocoaPods版本不同。

删除三方库:

在Podfile文件, 删除想要删除的三方库(或者前面加#注释掉),然后终端执行pod installpod update

删除一些三方库后编译可能会报错: library not found for -l库名,解决:
在Build Settings中搜索Other Linker Flags,去掉-l"库名"。
(有时不管用,应该是cocoapods的版本问题)

导入三方库报错:

[!] CocoaPods was not able to update the `master` repo. If this is an unexpected issue and persists you can inspect it running `pod repo update --verbose`

尝试解决:

尝试1: 根据提示,跑一下
pod repo update --verbose

尝试2:如果还是出现原来问题,升级CocoaPods版本
sudo gem update cocoa pods

尝试3:如果升级还是出现原来的问题,那么重装CocoaPods .

  • 首先查看本地装了关于cocoapods的哪些东西,在终端输入
    gem list --local | grep cocoapods
  • 接着全部卸掉
    sudo gem uninstall cocoapods
  • 再安装
    sudo gem install cocoapods

尝试4:如果问题依旧,那么清除缓存,清除命令:

  • sudo rm -fr ~/Library/Caches/CocoaPods/
  • sudo rm -fr ~/.cocoapods/repos/master
  • pod setup

还不行的话就把当前 Pods 目录清空:

  • sudo rm -fr Pods/
  • sudo gem install -n /usr/local/bin cocoapods
  • pod setup
    看看还有没有报错.

CocoaPods的使用补充:

使用CocoaPods来添加第三方类库, 无论是执行pod install还是pod update, 如果都卡在了Analyzing dependencies不动, 原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库, 加一个参数可以省略这一步, 命令如下:

  • pod install --verbose --no-repo-update
  • pod update --verbose --no-repo-update

pod install只会按照Podfile的要求来请求类库,如果类库版本号有变化,那么将获取失败。 但是 pod update会更新所有的类库,获取最新版本的类库。平时一般使用pod update --no-repo-update更新,定期使用pod update更新.

Cocoapods降低版本及卸载

一. 移除pod组件
1.这条指令会告诉你Cocoapods组件装在哪里 :
which pod
2.你可以手动移除这个组件 :
sudo rm -rf 路径
二. 移除 RubyGems 中的 Cocoapods程序包
Q: RubyGems是什么?
A: RubyGems(简称 gems)是一个用于对 Ruby组件进行打包的 Ruby 打包系统。 它提供一个分发 Ruby 程序和库的标准格式,还提供一个管理程序包安装的工具。
1.查看gems中本地程序包
gem list
2.移除程序包
sudo gem uninstall cocoapods -v 要移除的版本号
3.安装指定版本的Cocoapods
sudo gem install cocoapods -v 要安装的版本号

终端走代理:

export http_proxy=http://proxyAddress:port
Example:export http_proxy=http://127.0.0.1:1087

Homebrew官网

https://brew.sh/index_zh-cn.html

唐巧博客
用CocoaPods做iOS程序的依赖管理

你可能感兴趣的:(CocoaPods使用总结)