iOS:如何将自己的SDK用CocoaPods管理
条件:
需要在终端上将工程发布到cocoapods上,这样才能用cocoapods进行管理。
步骤:
首先,你得有一个pod的账号 在终端中输入pod 可以查看关于pod 的命令帮助,输入pod trunk me 可以查看自己的账号信息,如果没有的话先注册一个。输入pod trunk register然后根据提示注册一个即可。
然后,在有账号之后:
cd 到工程目录下,以工程名创建一个.podspec文件 例如:
cd Demo ---> pod spec create Demo
这样就会在工程中出现这样一个文件

接着vi Demo.podspec 进入文件中进行配置,下面这些具体的格式如何写,可以查看整File Pattern: http://guides.cocoapods.org/syntax/podspec.html#source_files

需要对 s.summary 写入对工程的总结
然后s.description 可以写工程的描述,也可以直接用#来注释掉。
s.homepage 写上之前在GitHub上创建的工程的网址,如:https://github.com/xiaowu2016/Demo
s.license我选择的是下面一个,并把上面的注释掉,将file => "FILE_LICENSE" 改成file => "LICENSE" 。
s.source 写上工程的地址,如:https://github.com/xiaowu2016/Demo.git
其他根据自己实际需求进行配置,如果工程中有依赖其他第三方库也要一并写上.有不明白的地方可以上GitHub上看看别人的.podspec文件对照进行配置。
例如如下配图设置:

这些名词解释如下:

对了,配置费ARC文件的情况,项目中由于历史原因,导致有一个私有的pods库中某几个文件是在非ARC时代写的,如果要进行修改工程量浩大,于是乎要对这几个文件单独处理,这几个文件不使用arc其他文件使用arc,网上查了一些资料,只需要对source_file进行修改并排除那几个不使用ARC的文件就可以了,大致修改如下:

配置完成之后保存并退出,然后在终端上输入
git add 'Demo.podspec' ( 也可以直接输 git add )
然后 git commit -m 'add Demo.podspec' 添加到git上
再用 git push同步到远程端
再创建LICENSE文件
vi LICENSE 直接去网上找一个复制过来,根据需要自己修改一下就能用。
保存并退出
git add 'LICENSE' (或者git add )
git commit -m 'add LICENSE'
git push
然后需要创建工程的tag
git tag '0.0.1'
git add *
git commit -m 'add tag'
git push origin 0.0.1
输完这些命令之后可以在GitHub的工程里看到创建的tag 如图

再输入pod spec lint 来检测一下是否有错误或警告,有则改之,每次本地的工程中有改动并上传到GitHub上之后需要改变tag 否则就会找不到你所改动的,在改变了tag 之后需要将.podspec文件中的s.version和s.source 的tag 改成同样的值。
当然出错时,最好需要只要知道错在哪儿,下面的操作可以帮助到你:
在检测你的podspec时候,如果直接用pod spec lint xxx.podspec的话,出现错误它只会直接一句红色的话the spec did not pass validation,due to 1.告诉你的有多少个error和warning,而不会具体的指出你的错误出在哪里,这时候你可以在这句指令后面加上参数--verbose 这样就会告诉你具体的错误信息。这样根据它提示你的错误信息去解决就可以了。
如果要查处具体错误,请使用 pod spec lint xxx.podspec --verbose
如果 pod spec lint 的时候遇到警告了,请使用 pod trunk push --verbose --allow-warnings
如果没有错误的话,也即当看到*** pass validation,说明验证通过了,就可以发布了,输入pod trunk push ,这样之后的工程再需要你封装的类库就可以直接在podfile中进行添加例如:pod search 'Demo' 然后pod install就可以帮你导入了,非常方便
下面是很有价值的干货:
original Link:http://www.jianshu.com/p/7dd9bfe8ee69
other Link_1: http://www.exiatian.com/cocoapods安装使用及配置私有库/
other_link_2: http://blog.csdn.net/stubbornness1219/article/details/50968000
other_link_3: http://www.cocoachina.com/ios/20160301/15459.html
other_link_4: http://www.cocoachina.com/ios/20150228/11206.html
iOS:如何将自己的SDK用CocoaPods管理的更多相关文章
- iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库
一种新的第三方库管理工具:Carthage 如何使用Carthage管理iOS依赖库 Podfile Syntax Reference v1.1.0.rc.3 https://guides.cocoa ...
- iOS 快捷下载和安装并使用CocoaPods
CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,手动一个个去下载所需类库十 ...
- iOS开发 使用Cocoapods管理第三方类库
每次上github看到一些优秀的代码,总能看到Podfile,也了解是个管理第三方类库的,今天抽时间学习了一下,挺简单的! 作用: 太多 还是复制一下把!!! CocoaPods是什么? ...
- 李洪强iOS经典面试题142-第三方框架及其管理
李洪强iOS经典面试题142-第三方框架及其管理 第三方框架及其管理 使用过CocoaPods吗?它是什么?CocoaPods的原理? CocoaPod是一个第三方库的管理工具,用来管理项目中的第 ...
- 使用CocoaPods管理第三方开源类库
iOS开发中经常会用到许多第三方开源类库,比如AFNetworking.FMDB.JSONKit等等,使用CocoaPods这个工具就能很方便得对工程中用到的类库进行管理,包括自动下载配置以及更新. ...
- cocoapods管理以及常遇到的问题
CocoaPods使用 安装成功啦,咱们来创建Podfile文件 //咱们先滚去项目的根目录,如果不会,你就先滚去看看shell命令教程吧 $ cd /Users/JamesGu/Desktop/Co ...
- 利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库)
利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库),完成预期的任务,大致有下面几步: 1.代码提交到github平台 2.创建.podspec 3. ...
- CocoaPods学习系列2——使自己的项目支持CocoaPods管理
该篇记录使自己的项目支持CocoaPods管理. 要达到这一目的,需要如下步骤: 1.将自己的项目提交到github,添加开源协议license 2.添加podspec文件 3.验证podspec,成 ...
- 利用CocoaPods管理本地工程和发布开源框架
发布自己三方框架 发布云端库 1.创建spec pod spec create xxx 2.编辑spec s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称 ...
随机推荐
- csv格式
Name,Password nmae:xiaofan,password:1234567890 每个逗号就是一列
- Go语言学习资源
Go语言学习资源 下载:http://www.golangtc.com/downloadhttp://www.golangtc.com/download/liteide 安装及开发工具http://j ...
- 背景图片与 CSS的那些事
在CSS中,背景图片的定位方法有3种: 1)关键字:background-position: top left; 2)像素:background-position: 0px 0px; 3)百分比:ba ...
- Web 在线文件管理器学习笔记与总结(10)查看文件夹中的内容
① 读取文件夹大小 a. 封装计算文件夹大小的函数 b. 打开文件夹 c. 循环判断文件夹下的内容是文件还是文件夹,如果是文件,则累积相加文件的大小:如果是文件夹,则递归调用该函数 注意两个问题: ...
- Ubuntu 12.04 卸载 VMware
cd /usr/bin sudo vmware-installer -u vmware-player
- Google Chrome can not be run as root
Ubuntu运行Chrome出现"Google Chrome can not be run as root"的解决方法 编辑启动文件:/opt/google/chrome/goog ...
- commandname+commandargument
(一) CommandName:其实可以设置成一种动作,比如Select,Update,Delete,等操作.就是说CommandName是确定他到底引发的是哪一事件,如果CommandName的名字 ...
- 使用PHP发送邮件的两种方法
使用PHP发送邮件的两种方法 May242013 作者:Jerry Bendy 发布:2013-05-24 22:25 分类:PHP 阅读:2,107 views 抢沙发 今天 ...
- 使用ngrok
使用ngrok让微信公众平台通过80端口访问本机 首先声明我是用java-tomcat来研究微信公众平台的. 微信公众平台要成为开发者,需要填写接口配置信息中的“URL”和“Token”这两项(参见: ...
- Converting from Decimal Notation to Binary Notation for Fractions
COMPUTER ORGANIZATION AND ARCHITECTURE DESIGNING FOR PERFORMANCE NINTH EDITION Therefore, the conver ...