CocoaPods安装 详细

  • 2018.8.28 https://gems.ruby-china.org域名更新为https://gems.ruby-china.com
  • 2017.12.1 更新ruby源

最近安装CocoaPods遇到了很多的问题,导致安装了3天才完成,对!你没有看错,安装了整整3天(当中也有网络的问题)。所以有了这篇文章。

  • 当前电脑版本: macOS High Sierra 10.13.1
  • xcode版本: Version 9.1 (9B55)

一、CocoaPods简介

CocoaPods负责管理iOS项目中第三方框架。CocoaPods的项目源码在Github上管理。项目从2011年8月12日开始,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

二、开始安装

安装需要用到Ruby,虽然Mac自带了Ruby,不过版本有点老了,最好更新一下

sudo gem update --system

接下来输入系统密码就可以安装了,输入密码时不会显示的,输完回车就行了(黑色块是我个人加上去的,遮挡用户名的)

输入密码

因为Ruby的软件源rubygems.org被屏蔽了,所以要更换源

gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

添加源成功

接下来查看下源路径是否更换了

gem sources -l

和上图一样的源就成功了

**请确保只有 gems.ruby-china.com **
然后就可以更新Ruby了


接下来安装Cocoapods了

sudo gem install cocoapods

不过有可能出错(我就是出错了),出错的话执行下面的命令

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

install出错

安装时会输出很多文件以及进度条

CocoaPods安装 详细_第1张图片
install成功

安装完后你可以输入下面的命令查看是否成功,当前CocoaPods版本为1.0.0

pod --version

查看是否安装成功

安装完cocoapods后进行最蛋疼的一步,设置仓库,就是把所有上传到cocoapods的第三方框架下载每个版本和网络地址以及一些其他描述信息到本地,因为服务器在国外所以比较蛋疼,网速好的直接无视我的话输完下面命令后跳到下载中说明-。-

CocoaPods安装 详细_第2张图片
仓库里装的东西

pod setup

CocoaPods安装 详细_第3张图片
等待下载完
CocoaPods安装 详细_第4张图片
下载完成图

下载完就大功告成了(没有网络问题就可以跳转到三、开始使用了).


**网速不好,老是报错的这里!

之前我也尝试过使用CocoaPods的镜像索引使用国内的镜像,但是没有效果,oschina的应该是因为人流量访问大,所以设置了验证码,而gitcafe马上要停止服务了,所以没办法了(如果你知道还有其他镜像请联系我,贡献出来让我们这些网速差的小白能愉快的安装)

一直报错,503、argumenterror , syntax error on line 4, col 0: `min:0.29.0` 等等,都是你的网络原因导致的

这就要手动下载配置,可以在上面的oschina和gitcafe链接中下载,也可以在github上下载(不过比较慢)

更新一个手动下载到本地的方法!!!
采用国内的免费服务器同步后下载:链接

下载完成后你可以输入

pod setup

然后control+c 中断,目的是让他帮你创建文件夹
当然你也可以手动创建文件夹,但是文件夹是隐藏的所以你需要在Finder页面使用快捷键command + shift + .

随后在Finder点击 前往>前往文件夹 中前往文件,输入下面指令

~/.cocoapods

CocoaPods安装 详细_第5张图片
前往文件也可以按快捷键shift+command+G
CocoaPods安装 详细_第6张图片
文件结构

对比一下可以发现我们下载的文件和安装后的文件只是改了一下文件名,把最外面的文件改为master,然后扔到~/.cocoapods/repos文件夹下就完成设置了

CocoaPods安装 详细_第7张图片
对比图

下载中说明

下载中如果不放心,可以新建一个终端窗口分别输入下面两条命令查看下载了多少,下载完成的文件大小如下(2016.5.25日下载的文件)

cd ~/.cocoapods
du -sh *

CocoaPods安装 详细_第8张图片
完成后的文件大小

三、开始使用

设置完成后就可以开始使用了,先创建一个Project,然后创建一个single View Application到桌面,终端中输入cd+空格,把刚刚创建到桌面的文件夹拖到终端中,回车

接下来创建Podfile文件,并编辑

vim Podfile

进入Podfile后输入i编辑状态(可以查看左下角有个INSERT),进入输入下面命令

platform :ios, '9.3'
use_frameworks!

target 'Test' do
  pod 'SDWebImage', '~>3.7.6'
  pod 'Masonry', '~>1.0.0'
end

Podfile格式解析

  • platform是平台
  • ios, '9.3'是指定所支持系统和最低版本
  • Test填写你的target名称(target名见下图),pod 后面的就是你需要的框架,'~>里面就是版本',官网的案例是写了版本号的。
CocoaPods安装 详细_第9张图片
这些就是Target名
CocoaPods安装 详细_第10张图片
官网案例

写完后按Esc 然后:wq 意思是保存并退出

CocoaPods安装 详细_第11张图片
编写并保存退出

接着输入,就会把Podfile文件里写的文件下载到当前文件夹,并且创建.xcworkspace

pod install

CocoaPods安装 详细_第12张图片
安装完成时的文件

接下来就可以打开Test(target名).xcworkspace文件导入头文件编写你的程序了。

四、编写小问题

我在编写时还出现了一点小问题,当你导入头文件时,有时不会提示,不会提示就表示可能会打错,你可以control+B编译一下再尝试,如果还是不行就按照下面的图进行一下配置

$(PODS_ROOT)
选择recursive

CocoaPods安装 详细_第13张图片
导入头文件提示

之后我去看了下官网,官网的导入方式是尖括号<里面写导入第三方的文件夹名+头文件>

CocoaPods安装 详细_第14张图片
官网写法

这里,又一个问题来了,当你使用Masonry的时候需要进行宏定义,因为什么时候用mas_,什么时候包装数据类型,这些实在懒得记...而当你用官网的方式导入,那种方式不能支持宏

CocoaPods安装 详细_第15张图片
编译时
CocoaPods安装 详细_第16张图片
运行时报错

这时候就需要改成import "Masonry.h" ,很奇怪的是我现在导入有提示,而之前导入一直没出提示。

CocoaPods安装 详细_第17张图片
正确的导入文件方法

五、常见的问题

### Error

ArgumentError - invalid byte sequence in US-ASCII
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:257:in `glob'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:257:in `glob'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:257:in `clean_paths'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:157:in `clean_installation'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer/pod_source_installer.rb:82:in `clean!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:278:in `block in clean_pod_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:277:in `each'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:277:in `clean_pod_sources'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:107:in `block in download_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/user_interface.rb:52:in `section'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:103:in `download_dependencies'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/installer.rb:89:in `install!'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/command/project.rb:38:in `run_install_with_update'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/command/project.rb:68:in `run'
/Library/Ruby/Gems/2.0.0/gems/claide-0.5.0/lib/claide/command.rb:277:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/lib/cocoapods/command.rb:51:in `run'
/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.31.1/bin/pod:33:in `'
/usr/bin/pod:23:in `load'
/usr/bin/pod:23:in `'

更改编码为UTF-8

export LANG=en_US.UTF-8
export LANGUAGE=en_US.UTF-8
export LC_ALL=en_US.UTF-8

[!] 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.

提示你使用mac自带的"文本编辑"要取消智能引号
编辑-替换-智能引号 取消勾选

CocoaPods安装 详细_第18张图片
关闭智能引号

不过我建议最好是用vim,如果嫌麻烦还可以用xcode打开

CocoaPods安装 详细_第19张图片
打开方式
CocoaPods安装 详细_第20张图片
始终以Xcode打开

剩下有些编写时出错的问题可能是多了个空格或者什么字符打错了/使用了中文字符等,看编译器报的错一般就能解决

如果不能解决就试试从执行安装命令,依次执行之前的命令

sudo gem install cocoapods
上面报错就执行sudo gem install -n /usr/local/bin cocoapods
pod setup


常用命令

更新本地仓库
pod repo update
从本地已有仓库更新当前项目中的第三方(不更新本地仓库)
pod update --verbose --no-repo-update

可能写的有点啰嗦了,最初我想的就是给超小白写的,我个人比较喜欢看图,所以基本上保持每几个动作截取一张图,看的更直观,但是有些图在最初安装的时候没想到要写文章所以就没有截取到,非常可惜,细心的朋友会发现我的终端样式不一样,是在后面帮朋友安装时重新截的图,如果对你有帮助,那就再好不过了!

你可能感兴趣的:(CocoaPods安装 详细)