iOS开发必备—Cocoapods安装及新建Podfile

iOS开发必备:cocoapods

一、什么是cocoapods?

CocoaPods是一个用来帮助我们管理第三方依赖库的工具。

它可以解决库与库之间的依赖关系,下载库的源代码,同时通过创建一个Xcode的workspace来将这些第三方库和我们的工程连接起来,供我们开发使用。

使用CocoaPods的目的是让我们能自动化的、集中的、直观的管理第三方开源库(比如JSONKit,AFNetWorking等)。

二、如何安装?

方法一:当然是官方的文档最权威啦,这就需要去官网看看了。

https://cocoapods.org/


CocoaPods是Swift和Objective-C Cocoa项目的依赖管理器。 它有超过28万个图书馆,并在超过170万的应用程序中使用。 CocoaPods可以帮助您优化扩展项目。

CocoaPods是用Ruby构建的,可以使用OS X上提供的默认Ruby安装。我们建议您使用默认的ruby。

使用默认的Ruby安装可能需要在安装gem时使用sudo。 更多安装说明在指南中。

https://guides.cocoapods.org/using/getting-started.html#getting-started

这是官方的安装指南。

如果你英语和我一样不太好的话,还是用民间的传统方法吧。

方法二:小白新手安装步骤详解!!!

CocoaPods是以Ruby gem包的形式被安装的。Mac OS系统是自带Ruby环境的。

可以先在终端(Terminal)输入:sudo gem install cocoapods,如果不出错的话,那是万幸了,但是基本上都是会出现error的,因为ruby的软件源rubygems.org因为使用亚马逊的云服务,被我天朝屏蔽了,所以需要更新一下ruby的源。

保守起见首先还是先查看下当前ruby版本:

打开终端(Terminal)输入 

ruby -v


2.更新Ruby源,网上的一种解决方案是将远替换成淘宝的,不过现在淘宝的 ruby 源已经不维护了,请替换成 Ruby China,

具体输入:

gem sources --removehttps://rubygems.org/     /*去掉ruby源*/

gem sources -ahttps://gems.ruby-china.org/       /*添加新的源*/

gem sources -l      /*查看当前ruby源*/

3.安装:

具体输入:

sudo gem install cocoapods

4.如果你的gem太老,可能也会有问题,可以尝试用如下命令升级gem:

具体输入:

sudo gem update --system

之后的新建podfile网上都有流程啦,自己动手一下,搜索。

我要说一下我遇到的问题。

cocoapods安装及使用遇到的问题合集:

1.

安装cocoapods过程中,需要输入电脑密码,输入密码的时候,你会发现光标和平常不一样,而且你输入的时候数字会显示不出来,不用理会,直接输入完按enter/return回车键。

2.当输入“sudo gem install cocoapods”或者“sudo gem install -n /usr/local/bin cocoapods”

出现以下错误:

ERROR:  While executing gem ... (Gem::DependencyError)

Unable to resolve dependencies: cocoapods requires cocoapods-core (= 1.2.0), cocoapods-downloader (< 2.0, >= 1.1.3), cocoapods-trunk (< 2.0, >= 1.1.2), molinillo (~> 0.5.5), xcodeproj (< 2.0, >= 1.4.1)

yangyangyangdeMacBook-Pro:~ yang$ sudo nvram boot-args="rootless=0"

nvram: Error setting variable - 'boot-args': (iokit/common) general error

解决方法:

输入:

rvm list known

出现错误:-bash: rvm: command not found

则继续输入:

curl -L get.rvm.io | bash -s stable

出现以下:

即表示rvm安装完成。

继续输入:

rvm list known

出现以下:

会显示出所有的ruby的版本

yangyangyangdeMacBook-Pro:~ yang$ rvm list known

# MRI Rubies

[ruby-]1.8.6[-p420]

[ruby-]1.8.7[-head] # security released on head

[ruby-]1.9.1[-p431]

[ruby-]1.9.2[-p330]

[ruby-]1.9.3[-p551]

[ruby-]2.0.0[-p648]

[ruby-]2.1[.10]

[ruby-]2.2[.6]

[ruby-]2.3[.3]

[ruby-]2.4[.0]

ruby-head

.

.

.

# IronRuby

ironruby[-1.1.3]

ironruby-head

继续输入:sudo gem install cocoa pods

出现以下:

yangyangyangdeMacBook-Pro:~ yang$ sudo gem install cocoa pods

Password:

Fetching: i18n-0.7.0.gem (100%)

Successfully installed i18n-0.7.0

Fetching: thread_safe-0.3.5.gem (100%)

Successfully installed thread_safe-0.3.5

Fetching: tzinfo-1.2.2.gem (100%)

Successfully installed tzinfo-1.2.2

Fetching: minitest-5.9.1.gem (100%)

Successfully installed minitest-5.9.1

Fetching: concurrent-ruby-1.0.2.gem (100%)

Successfully installed concurrent-ruby-1.0.2

Fetching: activesupport-5.0.1.gem (100%)

ERROR:  Error installing cocoa:

activesupport requires Ruby version >= 2.2.2.

ERROR:  Error installing pods:

activesupport requires Ruby version >= 2.2.2.

继续输入:rvm install 2.2.2  /*选择安装最新的Ruby*/

出现以下:

Searching for binary rubies, this might take some time.

Found remote file https://rvm_io.global.ssl.fastly.net/binaries/osx/10.12/x86_64/ruby-2.2.2.tar.bz2

Checking requirements for osx.

About to install Homebrew, press `Enter` for default installation in `/usr/local`,

type new path if you wish custom Homebrew installation (the path needs to be writable for user)

:

==> This script will install:

/usr/local/bin/brew

/usr/local/share/doc/homebrew

/usr/local/share/man/man1/brew.1

/usr/local/share/zsh/site-functions/_brew

/usr/local/etc/bash_completion.d/brew

/usr/local/Homebrew

Press RETURN to continue or any other key to abort

==> Downloading and installing Homebrew...

remote: Counting objects: 5079, done.

remote: Compressing objects: 100% (3186/3186), done.

remote: Total 5079 (delta 2798), reused 3338 (delta 1722), pack-reused 0

Receiving objects: 100% (5079/5079), 2.66 MiB | 44.00 KiB/s, done.

Resolving deltas: 100% (2798/2798), done.

From https://github.com/Homebrew/brew

...

* [new tag]        1.1.9      -> 1.1.9

HEAD is now at dfad3f3 Merge pull request #2034 from reitermarkus/spec-gpg

==> Tapping homebrew/core

Cloning into '/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core'...

remote: Counting objects: 4137, done.

remote: Compressing objects: 100% (4013/4013), done.

remote: Total 4137 (delta 30), reused 433 (delta 9), pack-reused 0

Receiving objects: 100% (4137/4137), 3.31 MiB | 87.00 KiB/s, done.

Resolving deltas: 100% (30/30), done.

Tapped 4010 formulae (4,166 files, 10.4M)

==> Cleaning up /Library/Caches/Homebrew...

==> Migrating /Library/Caches/Homebrew to /Users/yang/Library/Caches/Homebrew...

==> Deleting /Library/Caches/Homebrew...

Already up-to-date.

==> Installation successful!

==> Homebrew has enabled anonymous aggregate user behaviour analytics.

Read the analytics documentation (and how to opt-out) here:

https://git.io/brew-analytics

==> Next steps:

- Run `brew help` to get started

- Further documentation:

https://git.io/brew-docs

Installing requirements for osx.

Updating system.........

Installing required packages: autoconf, automake, libtool, pkg-config, coreutils, libyaml, readline, libksba, openssl...........

Certificates in '/usr/local/etc/openssl/cert.pem' are already up to date.

Requirements installation successful.

ruby-2.2.2 - #configure

ruby-2.2.2 - #download

% Total    % Received % Xferd  Average Speed  Time    Time    Time  Current

Dload  Upload  Total  Spent    Left  Speed

100 6854k  100 6854k    0    0  14400      0  0:08:07  0:08:07 --:--:-- 17131

No checksum for downloaded archive, recording checksum in user configuration.

ruby-2.2.2 - #validate archive

ruby-2.2.2 - #extract

ruby-2.2.2 - #validate binary

ruby-2.2.2 - #setup

ruby-2.2.2 - #gemset created /Users/yang/.rvm/gems/ruby-2.2.2@global

ruby-2.2.2 - #importing gemset /Users/yang/.rvm/gemsets/global.gems.............

ruby-2.2.2 - #generating global wrappers........

ruby-2.2.2 - #gemset created /Users/yang/.rvm/gems/ruby-2.2.2

ruby-2.2.2 - #importing gemsetfile /Users/yang/.rvm/gemsets/default.gems evaluated to empty gem list

ruby-2.2.2 - #generating default wrappers........

Updating certificates in '/etc/openssl/cert.pem'.

mkdir: /etc/openssl: Permission denied

mkdir -p "/etc/openssl" failed, retrying with sudo

yang password required for 'mkdir -p /etc/openssl':

and sudo mkdir worked


继续输入:

sudo gem install cocoapods

出现以下:


最终看到了:26 gems installed

就代表最终cocoapods安装好啦

三、如何新建Podfile文件?

终端输入:

vim Podfile

点击“i”,进入文件编辑模式

输入:

platform :ios, '10.0'  /*设置iOS 10的版本号*/

target 'Cloud Weather' do  /*目标文件*/

pod 'AFNetworking'    /*输入你要用到的第三方库,后面可以设置版本号,如果不设置就是默认最新版本*/

end


编辑完成后,然后按Esc,并且输入“ :”号进入vim命令模式,然后在冒号后边输入wq

注意:键盘输入 :后,才能输入wq。回车后发现PodTest项目总目录中多一个Podfile文件

继续在终端中输入:

pod install


如上图所示,

打开文件夹,会出现以下三个文件


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 159,458评论 4 363
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,454评论 1 294
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 109,171评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 44,062评论 0 207
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,440评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,661评论 1 219
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,906评论 2 313
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,609评论 0 200
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,379评论 1 246
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,600评论 2 246
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,085评论 1 261
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,409评论 2 254
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,072评论 3 237
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,088评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,860评论 0 195
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,704评论 2 276
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,608评论 2 270

推荐阅读更多精彩内容