条件:

    需要在终端上将工程发布到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管理的更多相关文章

  1. iOS 如何在一个已经存在多个project的workspace中引入cocoapods管理第三方类库

    一种新的第三方库管理工具:Carthage 如何使用Carthage管理iOS依赖库 Podfile Syntax Reference v1.1.0.rc.3 https://guides.cocoa ...

  2. iOS 快捷下载和安装并使用CocoaPods

    CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,手动一个个去下载所需类库十 ...

  3. iOS开发 使用Cocoapods管理第三方类库

    每次上github看到一些优秀的代码,总能看到Podfile,也了解是个管理第三方类库的,今天抽时间学习了一下,挺简单的! 作用:      太多  还是复制一下把!!! CocoaPods是什么? ...

  4. 李洪强iOS经典面试题142-第三方框架及其管理

    李洪强iOS经典面试题142-第三方框架及其管理   第三方框架及其管理 使用过CocoaPods吗?它是什么?CocoaPods的原理? CocoaPod是一个第三方库的管理工具,用来管理项目中的第 ...

  5. 使用CocoaPods管理第三方开源类库

    iOS开发中经常会用到许多第三方开源类库,比如AFNetworking.FMDB.JSONKit等等,使用CocoaPods这个工具就能很方便得对工程中用到的类库进行管理,包括自动下载配置以及更新. ...

  6. cocoapods管理以及常遇到的问题

    CocoaPods使用 安装成功啦,咱们来创建Podfile文件 //咱们先滚去项目的根目录,如果不会,你就先滚去看看shell命令教程吧 $ cd /Users/JamesGu/Desktop/Co ...

  7. 利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库)

    利用cocoapods管理开源项目,支持 pod install安装整个流程记录(github公有库),完成预期的任务,大致有下面几步: 1.代码提交到github平台 2.创建.podspec 3. ...

  8. CocoaPods学习系列2——使自己的项目支持CocoaPods管理

    该篇记录使自己的项目支持CocoaPods管理. 要达到这一目的,需要如下步骤: 1.将自己的项目提交到github,添加开源协议license 2.添加podspec文件 3.验证podspec,成 ...

  9. 利用CocoaPods管理本地工程和发布开源框架

    发布自己三方框架 发布云端库 1.创建spec pod spec create xxx 2.编辑spec s.name:名称,pod search 搜索的关键词,注意这里一定要和.podspec的名称 ...

随机推荐

  1. PixelFormat 像素格式

    enum PixelFormat Pixel formats available for Format7 modes. Enumerator: PIXEL_FORMAT_MONO8  8 bits o ...

  2. stringstream 使用方法

    C++中的stringstream是专门用来处理字符串流的,可以按顺序将string或int都拼接起来,而不用把int转换为string格式,使用方法如下: #include <string&g ...

  3. Css - 黑魔法

    我们发现了一个新功能,现在你可以创建sticky块元素了.这和 fixed 块元素一样,但不同的是, sticky 块元素是不会遮挡另一个块元素的,最好看看demo 类似的功能实现还可以使用jquer ...

  4. Acronis True Image Home 2011 PXE服务器配置_qxxz_新浪博客

    想实现网络启动,并且Acronis启动菜单中带有Acronis True Image Home,需要安装以下软件: 1.安装Acronis True Image Home 2011及plush pac ...

  5. POJ 1988 Cube Stacking(带权并查集)

    Cube Stacking Time Limit: 2000MS   Memory Limit: 30000K Total Submissions: 23678   Accepted: 8299 Ca ...

  6. 20. 求阶乘序列前N项和

    求阶乘序列前N项和 #include <stdio.h> double fact(int n); int main() { int i, n; double item, sum; whil ...

  7. jQuery Ajax 确定 form 表单 submit 提交成功

    使用 jQuery 提交表单,可以使用 同步方式(async: false). a.html 是 html 文件,a.php 是服务端文件,把 a.html 中表单的数据提交到 a.php 中,在提交 ...

  8. mysql 关于日期时间的字段类型

    mysql日期和时间类型 mysql有5种表示时间值的日期和时间类型,分别为.DATE,TIME,YEAR,DATETIME,TIMESTAMP. TIMESTAMP类型有专有的自动更新特性, TIM ...

  9. UITextField里面的 placeholder颜色和字体

    //  placeholder 颜色 [field setValue:[UIColor redColor] forKeyPath:@"_placeholderLabel.textColor& ...

  10. cascading rollback 级联回滚

    Computer Science An Overview _J. Glenn Brookshear _11th Edition To emphasize the delicate nature of ...