美文网首页iOS进阶iOS 技术文集iOS
[干货最新]将自己库添加Cocoapods支持

[干货最新]将自己库添加Cocoapods支持

作者: 夏天然后 | 来源:发表于2016-09-02 13:38 被阅读3203次

给库添加Cocoapods支持, 使这个工具使用起来更加方便, 更好的使用Cocoapods, 助力iOS程序开发, 下面进入正题, 想要实现这个过程, 绝对不虚此读.

  1. 首先写好一个要添加Cocoapods支持的库 这是我第一个添加Cocoapods支持的工具iOS7兼容自定义带动画的AlertViewController 你可以看看

  2. 注册trunk

// 升级至最新版本
$sudo gem install cocoa pods
// 完成注册 邮箱和GitHub用户名字
pod trunk register 1005430006@qq.com 'summerxx27' --verbose // 之后点击邮箱链接进行验证

3 查看注册信息如图

pod trunk me
注册信息

4 创建 .spec文件

// XTAlertViewController : 库名字
pod spec create XTAlertViewController

5 编辑文件 vim

vim XTAlertViewController.podspec

6 填写信息: 看名字就知道意思了. 具体还可以看官方文档 我的XTAlertViewController.podspec这个文件是这样写的, 或者找一个优秀的第三方, 模仿着写也是可以的

Pod::Spec.new do |s|
s.name = 'XTAlertViewController'
s.version = '1.0.1'
s.license = 'MIT'
s.summary = 'A view like UIAlertViewController on iOS.'
s.homepage = 'https://github.com/summerxx27/XTAlertViewController'
s.authors = { 'summerxx27' => '1005430006@qq.com' }
s.source = { :git => 'https://github.com/summerxx27/XTAlertViewController.git', :tag => s.version.to_s }
s.requires_arc = true
s.ios.deployment_target = '7.0'
s.source_files = 'XTAlertViewController/*.{h,m}'
end

7 验证一下本地文件编写是否正确

pod lib lint XTAlertViewController.podspec
成功

8 把编辑好的文件推送到GitHub (库文件 和 .spec文件)(使用GitHub Desktop就可以) 并且打上标记

git tag '1.0.1'
git push --tags

9 把编写的文件告诉Cocoapods

pod trunk push XTAlertViewController.podspec

10 之后使用查找命令就可以看到了

查找

注意事项

库文件应该在仓库的第一层目录(具体如不清楚 你可以下载我文章开头提到的XTAlertViewController 看一下文件层级)

总结 : 大致的过程就是这个样子, 博主在尝试的时候 走了不少弯路, 昨天一直到凌晨也没有成功, 好在最后成功了, 按照这个步骤, 基本没有错误, .podspec这个文件如果填写正确的话.

我的第一个支持Cocoapods的工具 就制作完成了, 你可以点击这里看见这个工具的介绍
参考 : 整个步骤是学习的 - 董铂然的博客

感谢您的阅读, 同时祝您过程顺利 !

走心文章, 值得点赞 ---文/夏天然后
微博-点我@夏天是个大人了 || QQ群: 498143780
End 文/ 夏天然后

可以关注我的订阅号 [夏天然后 ID: xt1005430006]

夏天然后

转载获得授权

相关文章

网友评论

  • 学习ing兰:楼主威武,受教了。 :grin:
    夏天然后:@加油擦炮 :smirk:
  • Scott_Mr:验证本地文件是否正确那一步,报错,请问遇到过么?Unable to add a source with url `https://github.com/CocoaPods/Specs.git` named `master-1`.
    You can try adding it manually in `~/.cocoapods/repos` or via `pod repo add`.
    夏天然后:@Scott_Mr 没有遇到过、这一步你可以照着有名的开源库来弄.
  • 小小看护:请问下,s.license = 'MIT',这个MIT是什么文件呢,我没有找到相应的文件,能给我解释下吗?在解释下license的用法,谢谢了。经常看你写的文章,辛苦
    小小看护:谢谢。
    夏天然后:@kuangyanboy 也就是说我开源了这个代码, 但是使用要遵循一定的规则 详细请复制链接到浏览器关于MIT http://baike.baidu.com/link?url=bpvK7oHS8b_pRgl-kKKm_Yvhukro9Z07g1IUhVGzjnrC1dGVbTdg0CNwkeSNEmk-t4zXpl7HO2r6HwYNobqnLPdHZsPO_TZa3pjO0hv0SJuH2DIVLekEBnzD2z4mVrX5 .
    最后的解释: 当你创建仓库的时候GitHub会提供几种许可包括不仅限于
    Apache License 2.0
    GNU General Public License v3.0
    MIT License
    BSD 2-clause "Simplified" License
    BSD 3-clause "New" or "Revised" License 这些等等. 希望看到这些你似乎了解了一些
  • 故乡云和月:pod trunk push XTAlertViewController.podspec 这一步 卡住了,提示一些错误。我之前这个.podspec文件验证通过了。。
  • 丿夜灬之灬:一直卡在 pod trunk push WebViewJavascriptBridge.podspec
    Updating spec repo `master` 请大神指导
    夏天然后:@丿夜灬之灬 是按照我这个文章做的吗? 验证.podspec文件格式的正确性了吗?
  • zenon:博主试了自己的库里,有依赖其他的pod库的情况吗
    zenon:仔细检查了下,是我自己锅。

    `s.source_files` 这里的路径没搞好,照着一个第三方填的,只改了项目名字,没注意其他的地方。
    zenon:@夏天然后 我之前也这么认为。
    试着做了一个库,由于引入了MBProgressHUD,pod lib lint一直没通过。
    报的是 : error: redefinition of 'xxx'。 查了一下发现很多都是说引用头文件的问题,但是我检查了一下自己应该没引用错 。我怀疑是不是MBProgressHUD本身的问题
    夏天然后:@土土土土土土 暂时没有尝试, 但是其他依赖应该需要把.podspec文件相应的部分填写完整应该就可以了.
  • 夏天然后:@Jon1993 你上传给cocoapods的文件 其实就是告诉它 库文件所在的位置 库文件应该在仓库的第一层目录 我是这样理解的
  • Jon1993:当初弄这个的时候也搞了好久,主要是缺少最新的明确的教程,写得挺好,简单而且涵盖了重点.

    整个过程 我使用的GitHub Desktop来和 github联系的 所以仓库的目录应该是
    这个什么意思不太懂
    夏天然后:@Jon1993 可能是我表达的有些问题了:smirk:
  • 诸葛俊伟:首先要能写出来开源库。。。:cry: 博主牛逼,不过我有个建议,最上面的图有点怪怪的,建议稍微改一下颜色或者风格。。:smile:
    夏天然后:@诸葛俊伟 请原谅我的ps渣、先删除了谢谢建议:sweat_smile:
  • ocarol: :+1:
    夏天然后:@ocarol : : :smirk:
  • 4e98088a4bd8:好
    夏天然后:@小杰杰0521 :smile::smile::smile:

本文标题:[干货最新]将自己库添加Cocoapods支持

本文链接:https://www.haomeiwen.com/subject/jwghettx.html