文档章节

IOS开发笔记(Swift):Cocoapods安装与使用

Realfighter
 Realfighter
发布于 2016/06/26 14:02
字数 1370
阅读 658
收藏 12

    最近在学习ios开发,下载了github上面很多优秀的源码,发现很多项目都包含Pods这个东西,在本地编译的时候总是编译不通过,于是搜索了一下Cocoapods,根据网络上的一些文章做了了解,并进行了安装使用,本篇来简单的整理一下。  

    首先,我们需要搞定楚Cocoapods是什么?来看一下官网的解释:

CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It has over eighteen thousand libraries and can help you scale your projects elegantly.

    意思就是说CocoaPods是针对Swift和OC Cocoa项目的一个依赖管理工具。它包含有一万八千个类库,可以帮助你优雅的扩展你的项目。其实就是一堆类库的集合。

    做过Java或Android开发的,可以简单的把它理解为maven或gradle中央仓库,你只需要配置一下类库的坐标,下载编译通过就可以使用这些类库提供的功能。

    CocoaPods的编译和安装需要Ruby环境的支持,OS X系统默认集成了Ruby环境,其他的老系统请自行google安装。

    Ruby环境正常后,要下载和安装Cocoapods很简单,打开终端,输入以下命令:

sudo gem install cocoapods

    它需要你输入下密码,并等待一段时间安装,所请耐心等待,安装成功后,会有如下的提示信息:

    不过这只是最理想的情况,你可能会碰到网络问题,因为天朝的墙阻挡了cocoapods.org的访问,这时候你就需要手动的切换下Ruby源,通过淘宝提供的Ruby镜像来访问cocoapods。在终端中依次输入以下命令,先删除默认的ruby源:

gem sources --remove https://rubygems.org/

    等待一会儿会提示你删除成功,然后再添加taobao的源:

gem sources -a https://ruby.taobao.org/

    添加成功后,你可以通过gem sources -l命令查看,如下:

    接下来,输入第一步的命令,就可以了,不需要进行其它额外的设置。

    安装完CocoPods之后,我们来学习一下如何使用它,首先我们随便找一个工程,或者新建一个,以之前的一篇文章IOS开发笔记(Swift):UITableView表格视图的静态使用中,创建的UITableViewDemo为例,通过命令行进行到工程目录,如下:

    然后输入pod init命令,这个命令的作用是初始化pod,它会在你的工程下面创建一个Podfile的文件,我们需要在Podfile文件里面引入我们的类库,效果如下:

    然后,我们需要编辑这个文件,可以通过vim,也可以通过Xcode打开,这里通过Xcode打开,命令如下open -a Xcode Podfile,效果是这个样子:

    我们随便引入一个类库Alamofire,这是一个swift编写的http网络库,Github地址,根据地址上面的说明,进行配置,效果如下:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!

target '<Your Target Name>' do
    pod 'Alamofire', '~> 3.4'
end

    编辑完之后保存,然后回到命令行,执行pod install命令,相应的还有pod update命令,感兴趣的朋友可以看一下使用 pod install 还是 pod update ?,这里不再解释。

    这里需要注意一点:在你初次执行pod install命令时,系统会自动执行pod setup,从https://github.com/CocoaPods/Specs上下载索引文件更新到本地,目前大概有756M,你可以通过如下图所示的命令随时查看下载了,一定要有耐心:

    不过由于网络原因,CocoaPods很可能会无限卡在Setting up CocoaPods master repo,这时候你可能需要切换一下镜像,使用oschina的镜像,地址是:https://git.oschina.net/akuandev/Specs.git,你需要依次执行如下几条命令:

pod repo remove master

pod repo add master https://git.oschina.net/akuandev/Specs.git

pod repo update

    然后再执行pod install命令,正常执行完的效果如下:

    在pod install的过程中,你可能和还会遇到一个奇葩问题,Unable to add a source with url,原因是由于你的系统上可能安装了多个版本的xcode导致,以下是两个解决方案:

    CocoaPods解决Unable to add a source with url

    Unable to add a source with url 

   安装成功后,我们会发现我们的工程目录里面多了一些文件,如下:

    通过Xcode我们打开xcworkspace文件,看一下效果:

    可以看到多了一个Pods的工程,通过其中的Podfile文件,我们可以配置一些类库的引用,不过每次在添加、编辑、删除类库时,我们都需要重新通过命令行执行一次pod install命令,以便把所需的类库安装进你的工程,有点麻烦。

    不过cocoapods是我们学习ios开发必不可少的一个工具,我们开发过程中可能遇到的所有问题,它都有相应的类库提供解决方案,如果你想更深入的了解它,请点击这里CocoaPods Wiki

© 著作权归作者所有

Realfighter

Realfighter

粉丝 149
博文 139
码字总数 144564
作品 2
洛阳
程序员
私信 提问
27 款 iOS 开源库,让你的开发溜到飞起

我爱开源。 我也爱开发者们,他们花费大量宝贵的时间创造出如此惊人的东西,然后与其他人分享,而不要求任何回报。开源作者和贡献者们,你们令人敬佩。感谢你们所有的工作。 我在处理自己的 ...

oschina
2016/11/29
5.8K
6
27 个 iOS 开源库,让你的开发坐上火箭吧

本文翻译自Medium,原作者是Paweł Białecki,查看原文 你不会想错过他们,真的。 我爱开源。 并且我喜欢开发者们,把他们宝贵的私人时间用来创造神奇的东西,然后他们会和其他人分享并且不...

oschina
2016/07/20
3.8K
6
[快速学会Swift第三方库] SQLite.swift篇

SQLite.swift 是一个使用纯 Swift 语言封装 SQLite3 的操作框架。 特性: 目录 [快速学会Swift第三方库 SQLiteswift篇] 编码之前 导入SQLite.swift 推荐使用CocoaPods进行导入,CocoaPods是一...

远0
2018/07/11
0
0
添加Flutter到现有iOS的项目

原文链接 https://tryenough.com/flutter03 添加Flutter到现有iOS的项目 $ flutter create -t module my_flutter 初始化pod的环境: 此时工程中会出现一个Podfile文件,添加项目依赖的第三方...

TryEnough
01/04
0
0
使用CocoaPods管理第三方库

DEC 2ND, 2012 前言 每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库。比如 Java: maven,Ivy Ruby: gems Python: pip, easy_install Nodejs: npm 随着iOS开发者的...

泊竹
2013/12/08
155
0

没有更多内容

加载失败,请刷新页面

加载更多

Executor线程池原理与源码解读

线程池为线程生命周期的开销和资源不足问题提供了解决方 案。通过对多个任务重用线程,线程创建的开销被分摊到了多个任务上。 线程实现方式 Thread、Runnable、Callable //实现Runnable接口的...

小强的进阶之路
21分钟前
4
0
maven 环境隔离

解决问题 即 在 resource 文件夹下面 ,新增对应的资源配置文件夹,对应 开发,测试,生产的不同的配置内容 <resources> <resource> <directory>src/main/resources.${deplo......

之渊
今天
8
0
详解箭头函数和普通函数的区别以及箭头函数的注意事项、不适用场景

箭头函数是ES6的API,相信很多人都知道,因为其语法上相对于普通函数更简洁,深受大家的喜爱。就是这种我们日常开发中一直在使用的API,大部分同学却对它的了解程度还是不够深... 普通函数和...

OBKoro1
今天
5
0
轻量级 HTTP(s) 代理 TinyProxy

CentOS 下安装 TinyProxy yum install -y tinyproxy 启动、停止、重启 # 启动service tinyproxy start# 停止service tinyproxy stop# 重启service tinyproxy restart 相关配置 默认...

Anoyi
今天
2
0
Linux创建yum仓库

第一步、搞定自己的光盘 #创建文件夹 mkdir -p /media/cdrom #挂载光盘 mount /dev/cdrom /media/cdrom #编辑配置文件使其永久生效 vim /etc/fstab 第二步,编辑yun源 vim /ect yum.repos.d...

究极小怪兽zzz
今天
6
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部