iOS - CocoaPods安装 (Homebrew安装)、使用

时间:2024-02-16 15:13:45

注意网络一定要好,不然安装会失败。好多人都是死在网速上。实在不行就用手机4g分享网络.

CocoaPods官网
Homebrew官网

一、全新安装前,先检查是否有安装残留(删除CocoaPods)

  1. 如果之前装过cocopods,最好先卸载掉,卸载命令:
sudo gem uninstall cocoapods
  1. 先查看本地安装过的cocopods相关东西,命令如下:
gem list --local | grep cocoapods

会显示如下:

cocoapods-core (0.39.0)

cocoapods-downloader (0.9.3)

cocoapods-plugins (0.4.2)

cocoapods-search (0.1.0)

cocoapods-stats (0.6.2)

cocoapods-trunk (0.6.4)

cocoapods-try (0.5.1)

然后逐个删除吧:

//示例
sudo gem uninstall cocoapods-core

二、使用Homebrew安装CocoaPods(无需FQ)

  1. 安装安装 Homebrew
    按照官网的说明,直接复制命令到终端中回车即可
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

出现Installation successful! 提示安装成功!

  1. 接着安装ruby,继续在终端中进行
brew install ruby 

安装完成后替换一下ruby源

  • 查看ruby源 gem sources -l
*** CURRENT SOURCES ***
https://rubygems.org/
  • 替换ruby源
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
  • 查看是否替换成功
gem sources -l

如果出现的是https://gems.ruby-china.com/证明替换成功。

  1. 安装CocoaPods

执行

sudo gem update --system
sudo gem install -n /usr/local/bin cocoapods

然后

pod setup

最后等待安装完成就好了!期间如果遇到问题请大家自行百度。

三、Podfile 讲解

# 下面两行是指明依赖库的来源地址
source \'https://github.com/CocoaPods/Specs.git\'
source \'https://github.com/Artsy/Specs.git\'

# 说明平台是ios,版本是9.0
platform :ios, \'9.0\'

# 忽略引入库的所有警告(强迫症者的福音啊)
inhibit_all_warnings!

# 针对MyApp target引入AFNetworking
# 针对MyAppTests target引入OCMock,
target \'MyApp\' do 
    pod \'AFNetworking\', \'~> 3.0\' 
    target \'MyAppTests\' do
       inherit! :search_paths 
       pod \'OCMock\', \'~> 2.0.1\' 
    end
end
# 这个是cocoapods的一些配置,官网并没有太详细的说明,一般采取默认就好了,也就是不写.
post_install do |installer|       
   installer.pods_project.targets.each do |target| 
     puts target.name 
   end
end

详细看这里: 你真的会写Podfile吗?

四、使用中遇到的问题

    1. Cocoapods更新不到最新的第三方库的问题

情况一:

打开终端,查看一下cocoapods的版本号:pod --version

如果不是最新版本,升级一下cocoapods版本:sudo gem install -n /usr/local/bin cocoapods --pre

但是有时候cocoapods升到最新版本后我cd到工程文件下pod install,发现还是没有更新最新的库。这时候需要更新本地Pod的索引文件:pod setup或pod repo update

此时在pod install或pod update,A库应该就是最新的了。

情况二:
可能是别的库锁定了这个库的版本,也就是第三方库里用了第三方库并把它的版本给锁定了。
更详细看这里,都是杯具:
https://www.jianshu.com/p/a4c131491608

更新索引库或者指定第三方

pod update 第三方名字 
例如:
pod update AFNetworking  

四、GIT提交时忽略Pods文件

  1. 如果Pods已经提交过或缓存过请执行以下步骤(没有就忽略此步)骤:
cd 到项目目录

git rm -r  --cached .

git add .

git commit -m "忽略Pods"
  1. 在GitHub上创建项目时选择对应的语言会生成.gitignore文件,默认是隐藏的,打开此文件.
    找到Pods/   默认是注释掉的, 去掉前面的#即可, 这样在pod框架下得文件就不会再纳入管理.   在其他开发人员使用时,  克隆代码后只需要做一下 pod install即可.(注意:pod  update 是不可以的)

在此使用pod install而不是pod update原因如下:

pod install执行时如果有Podfile.lock文件,则三方库会根据lock文件记录的版本更新为最新版本

pod update 不管是否有Podfile.lock文件,都会将在(Podfile中引入时未写版本的第三方库)更新为网络上最新的版本,会造成库找不到的问题