iOS干货cocoapods svn gitios 知识点

CocoaPods安装、超详细

2016-05-27  本文已影响6833人  BIMiracle

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

一、CocoaPods简介

CocoaPods负责管理iOS项目中第三方框架。CocoaPods的项目源码在Github上管理。项目从2011年8月12日开始,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。(练习时为了速度一般我都是直接导入工程中,个人比较讨厌写纯代码在Podfile文件中)

二、开始安装

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

sudo gem update --system

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

输入密码

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

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

添加源成功

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

gem sources -l

和上图一样的源就成功了

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

sudo gem update --system


接下来安装Cocoapods了

sudo gem install cocoapods

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

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

install出错

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

install成功

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

pod --version

查看是否安装成功

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

仓库里装的东西

pod setup

等待下载完 下载完成图

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


网速不好,老是报错的这里!(切换到https://gems.ruby-china.org/源后基本不用担心网速了)

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

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

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

下载完成后你可以输入

pod setup

然后control+c 中断,目的是让他帮你创建文件夹
当然你也可以手动创建文件夹,但是文件夹是隐藏的所以你需要在终端输入下面命令然后command+option+esc 重新启动一下Finder,就可以看到隐藏文件,把下面的true改为false就可以不显示隐藏文件

defaults write com.apple.finder AppleShowAllFiles -bool true

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

~/.cocoapods

前往文件也可以按快捷键shift+command+G 文件结构

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

对比图

下载中说明

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

cd ~/.cocoapods
du -sh *

完成后的文件大小

三、开始使用

设置完成后就可以开始使用了,先创建一个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

<a name="Podfile" id="Podfile">Podfile格式解析</a>

查看iOS版本 这些就是Target名 官网案例

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

编写并保存退出

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

pod install

安装完成时的文件

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

四、编写小问题

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

$(PODS_ROOT)
选择recursive

导入头文件提示

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

官网写法

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

编译时 运行时报错

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

正确的导入文件方法

五、常见的问题

### 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自带的"文本编辑"要取消智能引号
编辑-替换-智能引号 取消勾选

关闭智能引号

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

打开方式 始终以Xcode打开

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

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

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


第一次写教程文章,因为个人原因不喜欢加。句号,不知道你们是否看的过去,如果有更好的排版方式意见或者遇到什么问题欢迎在下方评论!

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

上一篇下一篇

猜你喜欢

热点阅读