IOS学习7——cocoapod安装与使用教程
一、CocoaPods简述
iOS开发时,项目中经常会需要引用第三方框架库,如果每用到一个第三方框架哦我们都需要取网上download然后导入项目中则会非常麻烦,在管理上也会很混乱。为了解决这一问题,CocoaPods(https://github.com/CocoaPods/CocoaPods)的出现适得其实。CocoaPods可以用来方便地对第三方库所需的环境和更新进行统一管理,并且大多数的第三方框架库也都支持CocoaPods。
二、CocoaPods安装
安装步骤分为两步:
- 先安装CocoaPods所需的Ruby环境(目前一般Mac的OS版本都会自带Ruby环境,所以第一步其实是可以省略。。),可以通过终端(terminal)中输入 ruby -v 来查看目前安装的ruby环境的版本,如下图
- 安装cocoapods ,终端输入: sudo gem install cocoapods
但是,如果你在天朝,在终端中敲入这个命令之后,会发现半天没有任何反应。原因无他,因为那堵墙阻挡了cocoapods.org。(你会问,我靠,这都要墙!是的,小编也纳闷。)
但是,是的,又但是(不过是个可喜的“但是”)。我们可以用淘宝的Ruby镜像来访问cocoapods。按照下面的顺序在终端中敲入依次敲入命令来修改cocoapod的安装镜像:
//删除当前的ruby镜像链接
$ gem sources --remove https://rubygems.org/ //等有反应之后再敲入以下命令,重新链接ruby的镜像地址为淘宝的镜像 $ gem sources -a http://ruby.taobao.org/ 为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看: $ gem sources -l 只有在终端中出现下面文字才表明你上面的命令是成功的: *** CURRENT SOURCES *** http://ruby.taobao.org/ //然后再输入安装cocoapods命令 sudo gem install cocoapods
新建一个项目,名字PodTest
2、 终端中,cd到项目总目录(注意:包含PodTest文件夹、PodTest.xcodeproj、PodTestTest的那个总目录)
cd /Users/lucky/Desktop/PodTest
Tip: CocoaPods provides a pod init
command to create a Podfile with smart defaults. You should use it.
cd到项目目录下之后,执行pod init 自动会生成Podfile文件
接着上一步,终端输入 vim Podfile,打开一个窗口之后,把需要第三方加上。下面截图是我个人的。(进入编辑器默认是查看状态,键盘按i切换到编辑状态)
pod 'AFNetworking', '~> 3.0'
注意:键盘输入 :编辑完之后,先按ESC才能输入wq后回车,关闭编辑器。
然后发现PodTest项目总目录中多一个Podfile文件
激动人心的时刻到了:确定终端cd到项目总目录,然后输入 pod install,等待一会,大约3分钟。
注意:第一次 pod install可能由于网络原因,非常非常慢,此时需要淡定
//Cocoapods在将它的信息下载到 ~/.cocoapods里
//cd 到该目录里,用du -sh *命令来查看文件大小,根据文件大小,判断是否正在安装
//在终端输入:
cd ~/.cocoapods
du -sh *
安装成功:
查看项目根目录:
注意:现在打开项目不是点击 PodTest.xodeproj了,而是点击 PodTest.xcworkspace
OK!CocoaPods就介绍完了,如果需要导入其他第三方库,修改Podfile文件就可以了。
IOS学习7——cocoapod安装与使用教程的更多相关文章
- iOS开发利器-CocoaPods安装和使用教程
新博客http://www.liuchendi.com 开发iOS项目时肯定会用到许多第三方项目,比如说:ASIHttprequest,JSONKit等等,一些类库可能又关联着其他类库,如果超过一定的 ...
- CocoaPod安装和使用教程
一.CocoaPods是什么? CocoaPods是一个负责管理iOS项目中第三方开源库的工具.CocoaPods的项目源码在Github上管理.我们开发iOS项目不可避免地要使用第三方开源库,Coc ...
- milvus和faiss安装及其使用教程
写在前面 高性能向量检索库(milvus & faiss)简介 Milvus和Faiss都是高性能向量检索库,可以让你在海量向量库中快速检索到和目标向量最相似的若干个向量,这里相似度量标准可以 ...
- IOS 学习教程
IOS 学习教程http://www.gaixue.com/course/236#### 讲课http://wenku.baidu.com/view/6786064fe518964bcf847c63. ...
- iOS开展-CocoaPods安装和使用教程
原文链接: iOS开展-CocoaPods安装和使用教程 修正已经增加了自己的理解. CocoaPods安装和使用教程 Code4App 原创文章.转载请注明出处:http://code4app.co ...
- Android、IOS的Fiddler证书安装教程
通过手机连接fiddler实现代理访问,其中必须得安装证书才能生效,那么针对不同的手机连接方式也不一样,分为两类:Android.iOS: Android-Fiddler证书安装: 直接在任意浏览器中 ...
- 黑苹果-IOS学习的开始
深知安装黑苹果的不易,在这里写一下关于我的Thinkpad E430c安装黑苹果教程(Mac版本:Yosemite 10.10.4),希望能够帮助有需要的朋友. 首先贴上我的电脑配置报表: ----- ...
- 给深度学习入门者的Python快速教程 - 番外篇之Python-OpenCV
这次博客园的排版彻底残了..高清版请移步: https://zhuanlan.zhihu.com/p/24425116 本篇是前面两篇教程: 给深度学习入门者的Python快速教程 - 基础篇 给深度 ...
- iOS学习资料整理
视频教程(英文) 视频 简介 Developing iOS 7 Apps for iPhone and iPad 斯坦福开放教程之一, 课程主要讲解了一些 iOS 开发工具和 API 以及 iOS S ...
随机推荐
- mac 安装protobuf,并编译
因公司接口协议是PB文件,需要将 PB 编译成JAVA文件,且MAC 电脑,故整理并分享MAC安装 google 下的protobuf 文件 MAC 安装protobuf 流程 1.下载 http ...
- 利用vertical-align实现行内元素对齐
实际项目中,常常会遇到一排行内元素对齐排列的需求,但是往往它们是这样的 我们想要的其实是这样的 曾经我一度不得不使用定位来实现我想要的位置效果,将父元素设置 position:relative ,行内 ...
- servlet+jsp+jdbc实现从数据库查询用户信息到页面
工程创建这里就不在累述了,直接从显示User信息列表开始. 备注:我用的是servlet3的注解功能实现的,所以不需要配置web.xml 这是我的工程目录: 首先我们创建实体类: public cla ...
- C语言之循环计数
#include<stdio.h>int main(){int num,count=0,i=0;scanf("%d",&num);num/=10;count++ ...
- Java项目之员工收录系统
在Java SE中,对IO流与集合的操作在应用中比较重要.接下来,我以一个小型项目的形式,演示IO流.集合等知识点在实践中的运用. 该项目名称为"员工收录系统",在Eclipse的 ...
- 最强离线安装MySQL_8.0.2方法
最强离线安装MySQL_8.0.2方法,一次就能安装成功. 按照此方式,离线安装MySQL五分钟都花不到,节省了大量的宝贵时间. 前戏,假设你已经从MySQL官网中获取了下面这个压缩包: 解压之后变成 ...
- docker-compose v3版本命令详解参考
参考和指南 这些主题描述了Compose文件格式的第3版.这是最新的版本. Compose and Docker 兼容性矩阵 有几个版本的Compose文件格式 - 1,2,2.x和3.x.下表是快速 ...
- Lonlife 1000 - Spoon Devil's 3-D Matrix
1000 - Spoon Devil's 3-D Matrix Time Limit:1s Memory Limit:32MByte Submissions:208Solved:65 DESCRIPT ...
- POJ-1273-Drainage Ditches 朴素增广路
Drainage Ditches Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 70588 Accepted: 2743 ...
- websocket-php
下面我画了一个图演示 client 和 server 之间建立 websocket 连接时握手部分,这个部分在 node 中可以十分轻松的完成,因为 node 提供的 net 模块已经对 socket ...