发布自己的库到CocoaPods

作者: LimMem | 来源:发表于2016-12-29 10:43 被阅读99次

    本文主要介绍如何自己写一个pod,然后注册到CocoaPods上,并将代码放到Github上供别人下载。这基本上是任何一个pod的“标准”上架流程。当然你也可以将pod放到其他的git平台上。

    1> 注册trunk账号

    pod trunk register 您的github邮箱'github的用户名' --verbose

    第一次尝试的时候可能会报如下错误:

    [!] There was an error registering with trunk: getaddrinfo: nodename nor servname provided, or not known

    可以修改DNS来解决这个问题

    1、打开

    2、点击网络

    3、高级

    4、DNS  双击DNS服务器进行修改(不要修改太大了例如:223.6.6.6 -> 223.6.6.7)  -> 点击好 ->应用

    5、终端执行命令 

     pod trunk register 您的github邮箱 'github的用户名' --verbose

    注册成功之后会有如下提示:

    [!] Please verify the session by clicking the link in the verification email that has been sent to qcl901028@gmail.com

    并向您的邮箱发送一个邮件点击里面的链接激活就可以了

    查看个人信息

    pod trunk me

    2> 添加podspec描述文件

    这个文件是为了让CocoaPods搜索引擎知道代码作者、名称、版本号、源代码地址、依赖库等等信息。下面是官方的信息文件的例子(你也可以去下面cocoapods的官方网站去查看 http://guides.cocoapods.org ):

    1.创建podSpec文件主要用到pod lib工具:

    手动创建podSpec文件,your_pod_spec_name 最好和你的库的名字一样

    pod spec create your_pod_spec_name

    这个时候会生成一个文件到本地  your_pod_spec_name.podspec 你可以用记事本打开这个文件(文件位置在你终端操作的目录下面)如下图:

    命令目录 .podspec文件位置

    找到文件之后,用记事本打开(当然你也可以装逼的用vim + 文件名的方式打开,然后按1000dd来清楚内容  呃呃呃。。。不知道有没有命令可以删除全部内容 每次清除的时候都是清除10000行,来达到全部清清空的效果) ,然后全选删除。 

    小小都比一下 我们来看看我们伟大的杰哥是怎么写这个文件的

     地址:MJRefresh.podspec

    Pod::Spec.new do |s|

    s.name        = 'MJRefresh'

    s.version      = '3.1.12'

    s.summary      = 'An easy way to use pull-to-refresh'

    s.homepage    = 'https://github.com/CoderMJLee/MJRefresh'

    s.license      = 'MIT'

    s.authors      = {'MJ Lee' => '199109106@qq.com'}

    s.platform    = :ios, '6.0'

    s.source      = {:git => 'https://github.com/CoderMJLee/MJRefresh.git', :tag => s.version}

    s.source_files = 'MJRefresh/**/*.{h,m}'

    s.resource    = 'MJRefresh/MJRefresh.bundle'

    s.requires_arc = true

    end

    s.name  库名  就是将来你要导入文件时候的名字  如:pod MJRefresh

    s.version 库的版本号  杰哥已经更新到3.1.12

    s.summary  总结  写自己项目的用途的

    s.homepage 你的库的首页地址  不明白可以自行打开github MJRefresh 看项目结构

    s.license      = 'MIT'  这样写就行了  这个是一个许可证 。不知道有啥作用

    s.authors      = {'用户名' => 'github邮箱地址'}

    s.platform    = :ios, '你的库最低支持的版本'

    s.source      = {:git => '项目首页地址/库名.git', :tag => s.version}

    s.source_files = 'MJRefresh/**/*.{h,m}' 这个是你的库文件夹路径  这个表示的是MJRefresh文件夹下的所有.h.m文件  

    s.resource    = 'MJRefresh/MJRefresh.bundle'  图片或者一些资源文件的位置路径

    s.requires_arc = true  是不是arc

    当然这些只是一些常用的 (⊙o⊙)…  暂且称他为参数吧 (我真不知道这是个什么鸟东西,不知道怎么去称呼他s.name )。如果需要更多信息  用AF 或者sd 一类的第三方去查看写的什么

    额 ,好吧 !废话过多。。。

    2. 验证podSpec文件是否正确。

    pod lib lint 

    3.增加git 版本   

    1、git add -A

    2、git commit -m "first commit for version 1.0.0"

    3、git push origin master

    1、当然,你也可以使用SourceTree等GUI形式的Git客户端进行代码的推送操作。

    2、确保你所push的代码已经打上"version tag",也就是给源代码打上版本号标签:

    4、git tag '1.0.0'

    5、git push --tags

    3、需要注意的是  版本最好和podspec文件中的版本保持一致

    4. 用trunk推送podspec文件

    确保podspec文件已校验通过之后,用以下命令将该podspec文件上传至trunk  (your_pod_spec_name.podspec)这个是你自己创建的podspec文件

    pod trunk push your_pod_spec_name.podspec

    成功之后,就pod Search + 你的库名  看看是不是很惊喜  拥有了自己的项目

    参考:

    1、CocoaPods官方教程

    2、用CocoaPods做iOS程序的依赖管理

    3、让代码支持Cocoapods 

    4、iOS:手把手教你发布代码到CocoaPods(Trunk方式)

    相关文章

      网友评论

        本文标题:发布自己的库到CocoaPods

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