iOS第三方库管理工具
$ which pod
/usr/bin/pod
$ sudo gem install cocoapods
在这个安装过程中可能会比较慢,看上去没什么反应,这很正常!耐心的等待两三分钟!如果两三分钟还是一点没反应,那么直接中断安装程序:
使用键盘快捷键ctl+c
然后输入:
$ gem sources --remove https://rubygems.org/
再然后输入:
$ gem sources -a http://ruby.taobao.org/
然后验证一下刚才那两条命令设置的新Ruby镜像:
$ gem sources -l
验证完成后就会出现:
*** CURRENT SOURCES ***
http://ruby.taobao.org/
最后就可以快速的安装Pods了:
$ sudo gem install cocoapods
3、升级
在刚才第1步时,如果你安装过可以更新也可以不更新Pods,如果需要更新则输入:$ sudo gem update cocoapods
4、使用
那么安装了Pods之后接下要做的就是如何在项目中管理你的第三方库了
接下来就可以体验体验CocoaPods的神奇之处了,需要经过以下几步:
为了演示这个过程,我创建了一个名为CocoaPodsTest的工程。
1、创建Podfile
CocoaPods的一切都是从一个名为Podfile的文件开始的,我们需要先创建这个文件。个人习惯使用命令行,我会这样做:
- $ cd /Users/wangzz/Desktop/CocoaPodsTest
- $ touch Podfile
首先进入到工程的根目录下,创建空白的Podfile文件,创建完毕的目录结构如下图:
(PS:Podfile文件也可以不放在工程的根目录下,只是会稍微麻烦点,在下一篇文章中会有介绍,敬请关注。)
2、编辑Podfile
根据需要,我们可以在Podfile文件中写入需要用到的第三方库,以SBJson、AFNetworking、Reachability三个库为例,我的Podfile内容如下:
- platform :ios
- pod 'Reachability', '~> 3.0.0'
- pod 'SBJson', '~> 4.0.0'
- platform :ios, '7.0'
- pod 'AFNetworking', '~> 2.0'
3、执行导入命令
准备工作都完成后,开始导入第三方库:
- $ cd /Users/wangzz/Desktop/CocoaPodsTest
- $ pod install
首先进入工程根目录,然后执行pod install命令,CocoaPods就开始为我们做下载源码、配置依赖关系、引入需要的framework等一些列工作,命令的执行结果打印出来如下:
- Analyzing dependencies
- Downloading dependencies
- Installing AFNetworking (2.1.0)
- Installing JSONKit (1.5pre)
- Installing Reachability (3.0.0)
- Generating Pods project
- Integrating client project
- [!] From now on use `CocoaPodsTest.xcworkspace`.
这就说明pod install命令执行成功了。再来看看工程根目录发生的变化,如下图:
可以看到,工程的根目录下多了三个东西:CocoaPodsTest.xcworkspace、Podfile.lock文件和Pods目录。
(PS:篇幅有限,Podfile.lock文件会放到系列文章的下一篇介绍,敬请关注。)
再看看刚才执行完pod install命令打印出来的内容的最后一行:
- [!] From now on use `CocoaPodsTest.xcworkspace`.
提示我们从现在起,我们需要使用CocoaPodsTest.xcworkspace文件来开发。
对于工程发生的变化,有几点需要说明:
- 第三方库会被编译成静态库供我们正真的工程使用
CocoaPods会将所有的第三方库以target的方式组成一个名为Pods的工程,该工程就放在刚才新生成的Pods目录下。整个第三方库工程会生成一个名称为libPods.a的静态库提供给我们自己的CocoaPodsTest工程使用。
- 我们的工程和第三方库所在的工程会由一个新生成的workspace管理
为了方便我们直观的管理工程和第三方库,CocoaPodsTest工程和Pods工程会被以workspace的形式组织和管理,也就是我们刚才看到的CocoaPodsTest.xcworkspace文件。
原来的工程设置已经被更改了,这时候我们直接打开原来的工程文件去编译就会报错,只能使用新生成的workspace来进行项目管理。
打开CocoaPodsTest.xcworkspace,界面如下:
工程的目录结构还是非常明显的。
在项目中引用刚才添加的第三方库的头文件,执行编译操作,果断成功!
iOS第三方库管理工具的更多相关文章
- iOS开发之CocoaPods(objective-c第三方库管理工具)
介绍: iOS开发中,大多数情况下,我们都须要集成一些第三方依赖库.对于一个稍大的项目,用到的第三方依赖库的数量也很可观.CocoaPods是objective-c第三方库管理工具,方便第三方库的管理 ...
- iOS 中的第三方库管理工具
xcode没有android studio中的gradle进行第三方库管理,但是有第三方的库管理工具CocoaPods,https://github.com/CocoaPods/CocoaPods/w ...
- IOS团队开发之——CocoaPods 第三方库管理工具
使用前需要下载ruby 的gem 命令镜像,mac 下自带有.但一般不用,直接访问国外网站有限制. 下面安装 http://ruby.taobao.org/ http://blog.devtang.c ...
- iOS依赖库管理工具之CocoaPods
CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具.利用 CocoaPods,可以定义自己的依赖关系库 (称作 pods),并且随着时间的变化,在整个开发环境中对第 ...
- Xcode-GitHub第三方库管理工具--CocoaPods
一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库(从一个坑出来,又 ...
- iOS依赖库管理工具之Carthage
在iOS开发中,我们常会用CocoaPods来进行依赖库的管理.CoaoaPods 是一套整体解决方案,我们在 Podfile 中指定好我们需要的第三方库,然后 CocoaPods 就会进行下载,集成 ...
- 苹果系统IOS第三方管理工具——imazing 优秀
iMazing 是一款 Windows.macOS 平台的 iPhone.iPad 管理工具,可以进行文件.音乐.视频传输,备份与还原数据,并且可以管理已安装应用,比如重新安装那些已下架的应用,是「史 ...
- CocoaPods第三方库管理工具
http://code4app.com/article/cocoapods-install-usage
- CocoaPods iOS 开源库管理
1.CocoaPods 简介 1.1 CocoaPods CocoaPods 是 macOS 和 iOS 下的一个第三类库管理工具,通过 CocoaPods 工具我们可以为项目添加被称为 " ...
随机推荐
- About_PHP_验证码的生成
验证码就是一张图片,用到几个关键字: <?php session_start(); $arr = array( 'a','b','c','d','e','f','g','h','i','j',' ...
- java中强制类型转换
在Java中强制类型转换分为基本数据类型和引用数据类型两种,这里我们讨论的后者,也就是引用数据类型的强制类型转换. 在Java中由于继承和向上转型,子类可以非常自然地转换成父类,但是父类转换成子类则需 ...
- HDU1671 字典树
Phone List Time Limit: 3000/1000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others)Total ...
- 只具备内网的服务器通过yum安装软件
1.在维护过程中,需要统一安装一些软件,可能有的机器只具有内网,有的机器具备外网,可以直接从yum安装,怎么办呢?答:在具备外网的机器上启用yum缓存,这样安装软件的时候本地也缓存了软件安装包,怎样修 ...
- hibernate_Restrictions用法
方法 说明 Restrictions.eq = Restrictions.allEq 利用Map来进行多个等于的限制 Restrictions.gt > Restrictions.ge &g ...
- 如何获取hibernate代理类代理的实际对象实例?
在hibernate中,通过sql语句查询带clob字段的记录,查出来的结果集是List<HashMap<String,Object>>类型,在调用jackson的接口转为js ...
- java异常捕获
类ExampleA继承Exception,类ExampleB继承ExampleA. 有如下代码片断: try { throw new ExampleB("b") } catch(E ...
- 安卓中級教程(10):@InjectView
package com.example.android.db01; import android.app.Activity; import android.content.ContentValues; ...
- Oracle总结
摘自:http://www.cnblogs.com/linjiqin/category/283838.html oracle decode用法 select decode( x , 1 , ‘x is ...
- Neil·Zou 语录一
1 既然选择了远方 Since I’ve chosen to go far 便只顾风雨兼程 I will just walk down the path I chose step by ste ...