CocoaPods用法
来源:互联网 发布:淘宝男装店铺排行粉丝 编辑:程序博客网 时间:2024/06/13 00:46
一、CocoaPods介绍
1.使用CocoaPods的原因
我们在进行iOS开发的时候,引入第三方的开源库能够提高开发效率,例如:SBJson,AFNetworking等等。传统使用这些库的方法需要:
a)下载开源库的代码并引入工程
b)在工程中添加开源库使用到的framework
存在的问题是当开源库有更新,还需要将项目中开源库删除,在添加新的。。。这种情况下,CocoaPods应运而生。
2.什么是CoCoaPods
CocoaPods是一个用于帮我们管理第三方依赖库的工具,自动下载库的源码,更新,在项目中生成一个Pod的文件夹用于第三方库的管理,让我们自动化的,集中的,直观的管理第三方开源库
二、CocoaPods安装
1.安装
CocoaPods是Ruby实现,首先要有Ruby的环境,在Mac OS下已经默认有Ruby环境,所以只需执行以下命令
$ sudo gem install cocoapods安装完成后,执行命令
$ pod setup这样完成安装。
2.解决安装问题
a)install后半天没反应
由于Ruby默认的源是cocoapods.org,国内被墙,所以一种方案是将源替换成为淘宝源,命令为
$ gem sources --remove https://rubygems.org///有反应后$ gem sources -a http://ruby.taobao.org/想要验证是否替换成功执行
$ gem sources输出结果是
*** CURRENT SOURCES ***http://ruby.taobao.org/这样代表替换成功,然后执行
$ sudo gem install cocoapods
三、CocoaPods使用
1.创建Podfile
在项目根目录下执行
$ pod init这样就会在目录下生成一个Podfile,要添加第三方类库 ,可以先search一下,执行
$ pod search xxx//其中xxx是你要添加第三方类库名称搜索结束后,编辑Podfile文件夹
1 # Uncomment this line to define a global platform for your project 2 platform :ios, '7.0' 3 4 target 'MasonryDemo' do 5 pod 'Masonry', '~> 0.6.1' 6 end然后执行
$ pod install便会出现
Analyzing dependenciesCocoaPods 0.38.2 is available.To update use: `gem install cocoapods`For more information see http://blog.cocoapods.organd the CHANGELOG for this version http://git.io/BaH8pQ.Downloading dependenciesInstalling Masonry (0.6.2)Generating Pods projectIntegrating client project说明安装第三方类库完成,这时会在根目录下产生一个.xcworkspace结尾的文件,以后运行项目的时候就点击这个文件运行。同时也会出现Pods文件夹
补充:
生成的Podfile.lock是什么?
在第一次执行pod install的时候回生成一个podfile.lock文件,用于跟踪每个安装pod的版本。
例如 我的podfile中内容如下:
platform :ios, '7.0'target 'MasonryDemo' dopod 'Masonry', '~> 0.6.1'end这时,我的podfile.lock中内容如下:
PODS: - Masonry (0.6.2)DEPENDENCIES: - Masonry (~> 0.6.1)SPEC CHECKSUMS: Masonry: 362e8a1cc0beada4a4c4832d5e863da2a51533beCOCOAPODS: 0.38.2
这里我们在podfile中是指定了Masonry的版本号,如果没有指定,而只是 pod 'Masonry' ,此时在生成的podfile.lock中会指定一个Masory的版本号(例如0.6.1),这样如果我们在别的机器上再次执行pod install的时候,由于podfile.lock的存在,所以仍然获取是版本号为0.6.1的Masonry,即使有最新的Masonry存在。基于这个原因,如果在编辑podfile的时候没有指定版本号(~>0.6.1)这个,那么最好是将podfile.lock纳入版本管理,但是我更关注于在编辑podfile的时候指定版本号,这样在多人协同开发的时候,更方便pod的更新,尤其是pod是指定自己定制的,改动频繁的pod。
关于版本号的指定
除了可以不指定pod的版本外,可以手动指定pod的版本号
- '>0.1' 表示任何一个高于0.1的版本
- '>=0.1'包含0.1版本在内的任意高版本
- '<0.1' 任意一个低于0.1的版本
- '<=0.1'包含0.1版本在内的任意低版本
除了逻辑操作符以外,CoCoaPods还提供了一个'~>'的操作符: - '~>0.1.2'表示从版本0.1.2到0.2版本,不包含0.2
- '~>0.1'表示从版本0.1到1.0版本,不包含1.0版本
- '~>0'表示版本0或者更高版本,相当于不指定版本
最后,使用:head可以指定最新的版本pod 'Objection', :head
引用Pods版本冲突
Pods通常会依赖其他的pods,当多个pods分别依赖不同版本的同一pods的时候,就会出现冲突,这时候通常会有以下提示:[!]Podfile tries to activate 'GoogleAnalytics-iOS-SDK(=2.0beta4)',but already activated version '3.0'by AEAnalytics/GoogleAnalytics(1.6).
出现这种情况的时候,通常的做法就是将GoogleAnalytics-iOS-SDK pod这一行放在ARAnalytics这一行前面,并指定版本号。pod 'GoogleAnalytics-iOS-SDK','2.0beta4'
pod 'ARAnalytics/GoogleAnalytics'
指定本地文件夹中的一个pod
当你要指定一个本地的一个pod的时候,可以使用 :pathpod 'AFNetworking', :path => '~/Documents/AFNetworking'
当指定这个文件夹中的pods的时候,千万要保证文件夹中存在.podspec的文件。
指定一个库中repo 有些时候,你要指定你自己github中的pod,这种情况下可以用下面几种指令:
当指定的pod是在master上的时候:pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git'
当指定某个分支上面的时候:pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :branch => 'dev'
通过tag指定repo的时候:pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :tag => '0.7.0'
通过某个提交点指定repo的时候:pod 'AFNetworking', :git => 'https://github.com/gowalla/AFNetworking.git', :commit => '083fdeaa9a'
同样我们一样要保证repo的根目录中包含相应的podsepc文件
0 0
- CocoaPods用法
- iOS cocoapods的用法
- cocoaPods高级用法
- xcode7 Cocoapods 插件用法
- Xcode7 Cocoapods 插件用法
- CocoaPods 简单用法总结
- COCOAPODS最新用法
- cocoapods新版本用法
- CocoaPods 的概述 安装和基本用法
- cocoaPods的安装及简单用法
- cocoapods用法及遇到的问题解决
- CocoaPods - pod install ,pod update的用法
- iOS中的CocoaPods用法及常用命令
- CocoaPods
- CocoaPods
- cocoapods
- CocoaPods
- CocoaPods
- UItableView中编辑,删除,移动学习笔记
- 【LeetCode】(94)Binary Tree Inorder Traversal(Easy)
- 架构设计常见安全误区
- spring+activemq 发送10W消息报端口被占用的异常分析以及topic持久化订阅
- android edittext 拼写检查
- CocoaPods用法
- Android翻页效果原理实现之曲线的实现 分类: Custom My Love
- 黑马程序员-----集合类
- 微信演示制作软件易企秀的上手体验(图文)
- hdu 1869 六度分离-floyd
- python动态按区域显示
- hdu 1298
- yum命令详解
- 读书笔记之计算机系统(2)