CocoaPods 安装 以及 使用

执行命令: ruby -v

ruby 2.0.0p648 (2015-12-16 revision 53162) [universal.x86_64-darwin16]

gem sources-l

*** CURRENT SOURCES ***

https://ruby.taobao.org/

sudo gem installcocoapods

输入密码
Fetching: cocoapods-core-1.3.1.gem (100%)

Successfully installed cocoapods-core-1.3.1

Fetching: xcodeproj-1.5.3.gem (100%)

ls - cd项目路径 ls
vim Podfile  写三方头 例如如下:

platform :ios,'7.0'

target ‘pods’do

pod"SDCycleScrollView"

pod"AFNetworking"

pod"MJExtension"

pod"SVProgressHUD"

pod"MJRefresh"

pod"MBProgressHUD"

end

ls 你会发现 多一个Podfile
执行命令:pod install  看网速 


2017年10月31日21:08:26

=======================================



 原文链接:http://www.jianshu.com/p/1bb0ad42cb2e


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

个人电脑版本: OS X EI Capitan 10.11.5

xcode版本: 7.3.1

一、CocoaPods简介

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


二、开始安装

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

sudo gem update --system

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


输入密码

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

gem sources --removehttps://rubygems.org/

gem sources -ahttps://ruby.taobao.org/

添加源成功

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

gem sources -l

和上图一样的源就成功了

执行安装命令

sudo gem install cocoapods

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

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

install出错

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

install成功

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

pod --version

查看是否安装成功

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

仓库里装的东西

pod setup

等待下载完

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

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

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

这就要手动下载配置,可以在上面的oscine和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'dopod'SDWebImage','~>3.7.6'pod'Masonry','~>1.0.0'end

platform是平台

9.3是当前的版本(下图可以查看你的iOS版本)

Test填写你的target名称(target名见第二张图),pod 后面的就是你需要的框架,'~>里面就是版本',官网的案例是写了版本号的。按理说不写版本号默认是最新,之前我不写报错了,但现在没写也没报错,我此时的内心是崩溃的......

查看iOS版本

这些就是Target名

官网案例

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

编写并保存退出

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

pod install

安装完成时的文件

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

四、编写小问题

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

$(PODS_ROOT)

选择recursive

导入头文件提示

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

官网写法

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

编译时

运行时报错

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

正确的导入文件方法

五、常见的问题

### ErrorArgumentError - 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 notuseTextEditforediting it.IfyouarenotusingTextEdit, you should turnoffsmart quotesinyour editorofchoice.

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

编辑-替换-智能引号 取消勾选

关闭智能引号

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

打开方式

始终以Xcode打开

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

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

sudo gem install cocoapods

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

pod setup










1.第三方类库管理工具—CocoaPods

原因:假设项目中引入了10个第三方框架,框架会被作者不断更新.不可能天天盯着作者有没有更新.cocoaPods可以帮助我们自动更新第三方框架.假设第三方框架A依赖框架B, B又依赖框架C, C依赖框架D.......

cocoapods只能管理Github上的框架

插件—给Xcode安装的,方便操作xcode

框架—集成在项目中的,是代码

如何安装cocoaPods

1.需要翻墙—有条件可以直接翻墙

直接在终端中输入sudo gem install cocoapods即可

2.非翻墙情况

2.1在终端中输入gem sources查看软件安装源.默认源是https://rubygems.org/,这是亚马逊提供的,因为是国外的,被中国官方屏蔽了

2.2需要找一个没有被屏蔽的源,添加进去

新的源https://ruby.taobao.org/

终端以此输入:

查看当前源gem sources

1.删除默认源: sudo gem sources -没空格- remove https://rubygems.org/

2.添加taobao源: sudo gem sources -a https://ruby.taobao.org/

3.从taobao源安装cocoapods

sudo gem install cocoapods

4. 输入pod ,如果打印出好多东西,则说明成功了

到此为止—— 安装就结束了

使用篇:

1.在命令行中输入 cd空格拖动你的项目文件夹进入终端 , 回车进入项目目录.使用ls命令 测试是否成功

2.使用pod init 命令,创建podfile 配置文件(只有首次操作时做)

3.在target 和 end 之间输入你要引入的框架名

形式上 pod ‘Masonry’

4.命令行输入pod update, pod会自动根据配置文件—podfile中的内容,下载对应的第三方框架

5.如果成功以后,项目文件夹 会自动的添加 一个.xworkspace的工程文件, 和一个pod目录,还有podfile.lock

6.以后项目就只能通过workspace来启动了

7.如果想要添加或者修改第三方框架

在podfile里面添加或者删除pod ‘****’

重新在终端中 输入 pod update即可

8.没事的时候,也可以经常pod update以下, 只要作者有更新第三方框架,会自动帮你更新

2. SizeClass

作用: 为了规定同一个控件,在不同尺寸的屏幕上的显示方式

我们可以规定 在iphone 横屏是显示(install), 竖屏不显示

也可以规定 横屏时显示在右上角, 竖屏显示在左下角

推荐阅读更多精彩内容