[cocoapods速成] cocoapods的基本用法和自制 podspec
1 安装方法
主要命令: sudo gem install cocoapods
------------------------------------------------------------------------------------------------------------------------------
按照下面的顺序在终端中敲入依次敲入命令:
$ gem sources --remove https://rubygems.org//
等有反应之后再敲入以下命令
$ gem sources -a http://ruby.taobao.org/
为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:
$ gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的
:*** CURRENT SOURCES ***http://ruby.taobao.org/上面所有的命令完成之时,终端上是这个的样子:这时候,你再次在终端中运行
:
$ sudo gem install cocoapods
至于为啥不直接运行最后一条命令,当然是由于墙的原因了
———————————————————————————————————————
2 使用 cocoapods
主要命令:`$ pod install.
场景1:利用CocoaPods,在项目中导入AFNetworking类库AFNetworking类库在GitHub地址是:https://github.com/AFNetworking/AFNetworking为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。
在终端中输入:
$ pod search AFNetworking
过几秒钟之后,你会在终端中看到关于AFNetworking类库的一些信息。比如:这说明,AFNetworking是支持CocoaPods,所以我们可以利用CocoaPods将AFNetworking导入你的项目中。
首先,我们需要在我们的项目中加入CocoaPods的支持。你可以跟随小编的步骤,先利用Xcode创建一个名字CocoaPodsDemo的项目,用于以下的教程。创建好之后,
在继续下一步之前,小编先截图,看看项目没有支持CocoaPods时的项目Xcode目录结构:上图等一下要跟项目支持CocoaPods之后的项目Xcode目录结构做对比。你看到这里也许会问,CocoaPods为什么能下载AFNetworking呢,而不是下载其他类库呢?这个问题的答案是,有个文件来控制CocoaPods该下载什么。这个文件就叫做“Podfile”(注意,一定得是这个文件名,而且没有后缀)。你创建一个Podfile文件,然后在里面添加你需要下载的类库,也就是告诉CocoaPods,“某某和某某和某某某,快到碗里来!”。每个项目只需要一个Podfile文件。好吧,废话少说,我们先创建这个神奇的PodFile。在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建Podfile,
运行:
$ vim Podfile
然后在Podfile文件中输入以下文字:
platform :ios, '7.0' pod "AFNetworking", "~> 2.0"
注意,这段文字不是小编凭空生成的,可以在AFNetworking的github页面找到。这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.0。然后保存退出。vim环境下,保存退出命令是:
:wq
这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:
$ pod install
———————————————————————————————————————
3 自制 pods源(制作自己的podspec文件)
主要命令:
pod spec create https://github.com/iiiyu/XCAsyncTestCase
栗子: XCAsyncTestCase首先,去把它fork到自己的项目里面去。(什么不会fork?去面壁去)然后,把fork到自己帐号下的项目clone出来 cd进去1pod spec create https://github.com/iiiyu/XCAsyncTestCase这个很正常,很多项目都没有tag。反正在自己的下面。可以瞎搞。给项目加入一个tag。以便pod能自动识别。1234567
git tag -a 0.0.1 -m "Tag release 0.0.1”
git push —tagsrm -rf XCAsyncTestCase.podspec
pod spec create https://github.com/iiiyu/XCAsyncTestCaseOK。
然后用你自己喜欢的编辑器打开。1mate XCAsyncTestCase.podspec接着其实不用怎么改里面的内容我把注释删掉 作者改成原来的作者。然后需要的源码位置改成正确的当然 最重要的是s.source_files这个。你要把你要包含的文件路径找对了。 然后用通配符匹配好了。就OK了。当然其他项,你看看注释啥的 选择性的填一些。在这里是一个五分钟的hello world。不深入讨论接着 把修改好的文件push到github上去12345
git add XCAsyncTestCase.podspecgit commit -am "add XCAsyncTestCase.podspec file" git push
最后,在你项目的Podfile里面加入这个第三方库的地址。http://cocoapods.org/
pod 'XCAsyncTestCase', :git => 'https://github.com/iiiyu/XCAsyncTestCase.git'
就可以畅快的使用pod install了
参考来源:
http://code4app.com/article/cocoapods-install-usage
http://iiiyu.com/2013/12/19/learning-ios-notes-thirty-one/
http://cocoapods.org/
[cocoapods速成] cocoapods的基本用法和自制 podspec的更多相关文章
- [cocoapods]安装cocoapods
如果你的电脑已经安装过cocoapods了,但是不知道怎么用,请直接跳转到第8步 在安装之前,我们先来了解什么是cocoapods 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONK ...
- 【CocoaPods】配置CocoaPods后 - CocoaPods使用
配置CocoaPods后 - CocoaPods使用 极速化 CocoaPods : 1 .使用淘宝 Ruby Gems 源(Cocoapods 使用 ruby 开发) gem sources -l ...
- CocoaPods: 制作cocoapods国内镜像
制作cocoapods国内镜像∞ March 15, 2014 Tags:cocoapods 国内访问cocoapods spec repo速度非常慢,网络不好的话做一次pod update要等半个小 ...
- 关于CocoaPods update/CocoaPods install 慢、没反应、卡住的解决方案(Pods升级步骤)
pod管理第三方库带来的便利大家有目共睹,但是--,估计有很多人会遇到这样一种尴尬情况: Pod install 或 Pod update 执行之后,就不动了,一直一个界面简直要崩溃... 网上有很 ...
- 【CocoaPods】CocoaPods基本安装教程
CocoaPods是什么,有什么用,怎么来等等我就不说了.反正就是一个管理第三方开源框架的~ 1. 配置前 - 本地安装好Ruby环境 2. 安装命令 -> sudo gem install c ...
- [CocoaPods]使用CocoaPods进行测试
测试规格 从CocoaPods 1.3.0开始,pod现在可以提供测试规范(或简称测试规范).测试规范可用于描述给定pod的测试源. 这是一个示例CoconutLib.podspec,一个定义测试规范 ...
- [CocoaPods]使用CocoaPods
将Pod添加到Xcode项目中 在你开始之前 检查Specs存储库或cocoapods.org以确保您要使用的库可用. 在您的计算机上安装CocoaPods. 安装 创建Podfile,并添加依赖项: ...
- iOS -- CocoaPods
CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具.CocoaPods 的项目源码在 GitHub( https://github.com/CocoaP ...
- 最新的 cocoaPods 安装方法
经过努力终于发现了最新的 解决cocoaPods安装的办法: taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务 第一步:安装rvm, 不管需不需要升级ruby,rvm可以 ...
随机推荐
- 【Android - 框架】之RxJava的使用
RxJava算是最新最常用的,也是程序员们最喜欢的框架之一了. RxJava的核心由Observable(被观察者,事件源)和Subscriber(观察者)构成,Observable负责发出一系列事件 ...
- Asp.net网站后台代码不能访问-iis部署
最近自己写了点东西,部署的时候确发生了点问题,后台代码访问不了,错误为:由于扩展配置问题而无法提供您请求的页面.如果该页面是脚本,请添加处理程序. 错误详细提示: HTTP 错误 404.3 - ...
- java不求有功,但求无过—异常处理
在程序开发中,错误往往有两种.一种是编译时出现的错误,该种错误比較easy发现.还有一种是执行时出现的错误,该种错误是开发者比較头疼的.异常就是一个执行时的错误,比如,除数为0 ,数组越界等. 异常处 ...
- [RxJS] Marble diagrams in ASCII form
There are many operators available, and in order to understand them we need to have a simple way of ...
- android ScrollView 充满屏幕
android:fillViewport=true ScrollView下面的组件如果有android:layout_height="fill_parent"或android:la ...
- MySQL 错误日志(Error Log)
同大多数关系型数据库一样,日志文件是MySQL数据库的重要组成部分.MySQL有几种不同的日志文件.通常包括错误日志文件,二进制日志,通用日志,慢查询日志,等等. 这些日志能够帮助我们定位mysqld ...
- CHAR 详解
CHAR(20):20指的是表中的a字段能存储的最大字符个数 CREATE TABLE `a` ( `a` char(20) DEFAULT NULL) ENGINE=InnoDB DEFAULT C ...
- shell入门之流程控制语句 分类: 学习笔记 linux ubuntu 2015-07-10 16:38 89人阅读 评论(0) 收藏
1.case 脚本: #!/bin/bash #a test about case case $1 in "lenve") echo "input lenve" ...
- Linux下长时间ping网络加时间戳并记录到文本(转)
[root@test ~]# ping 192.168.2.1 -c 10 PING 192.168.2.1 (192.168.2.1) 56(84) bytes of data.64 bytes f ...
- 第一篇、Apache和Tomcat的整合
1.web架构 首先上图,解释web通用架构 通常情况下分为三大块 : ★ Web server : 通常情况下由 Apache Http Server . IBM Http Server .I ...