手把手教你用CocoaPods发布自己的开源库

2018-07-25  本文已影响0人  xu_chen

前言

文本将从零开始介绍如何使用cocoaPods发布自己的开源库

第一步:注册Trunk

  1. 查看当前pod版本

    pod --version
    
  2. 如果未安装pod,需下载安装

    sudo gen install cocoapods      
    pod setup
    
  3. 查看自己是否注册过 Trunk

    pod trunk me
    

    如果输出您的邮箱信息等,说明您已经注册过了,无需重新注册

  4. 注册

    pod trunk register 您的邮箱地址@163.com "用户名" --verbose
    

    您的邮箱地址@163.com - 这里输入您的邮箱地址
    用户名 - 这里输入您的用户名

    注册完成后,会给您的邮箱发送一封邮件,您需要进入邮箱,打开邮件中的链接,完成验证即可

  5. 验证是否注册成功

    pod trunk me
    

    观察是否会输出用户信息,注册如果成功会打印出您的邮箱和用户名

第二步:创建项目

  1. github上创建一个新项目

    1. 进入您的git账号,点击+, 选择 New Repository, 新建项目
    2. 输入项目名称(注意:这里的项目名是你要发布库的名字如 ChXAnimation 而不是你的工程名如ChXAnimationDemo)、填写描述,选择初始化一个 README 文件,选择 MIT 的授权文件
  2. Clone 到本地(使用 git 命令)

打开终端,cd 到您想存放项目的地方,如文档文件夹

cd ~/文档

github 上复制刚创建项目的链接地址,例如: https://github.com/sunrisechen007/ChXCategorys.git

clone

git clone https://github.com/sunrisechen007/ChXCategorys.git
  1. 添加要发布的库内容,如需要发布 ChXCategory 这个文件夹里的文件,直接把该文件夹拖入当前项目根目录中

第三步:配置信息

  1. 创建 .podspec文件,用以配置pod发布库的信息

    cd 到刚 cloen 的项目中 ,输入命令

    pod spec create ChXCategorys 
    

    上面ChXCategorys 是您要发布框架的名字,和 git 上项目的名称(https://github.com/sunrisechen007/ChXCategorys.git)保持一致

    注意这里的 podspec 文件名ChXCategorys 和您要发布库存放的文件夹 ChXCategory 是可以一样的

  1. 编辑 .podspec文件

    使用文本编辑工具打开刚建的 podspec文件,删除里面的默认代码,按照下面格式输入代码

     Pod::Spec.new do |s|
     s.name         = "ChXCategorys"
     s.version      = "0.0.1"
     s.ios.deployment_target = '8.0'
     s.summary      = “简介"
     s.homepage     = "https://github.com/zhangyqyx/ChXCategorys"
     s.social_media_url = 'https://www.baidu.com'
     s.license      = "MIT"
     s.author       = { "xuchen" => "xxx@163.com" }
     s.source       = { :git => 'https://github.com/zhangyqyx/ChXCategorys.git', :tag =>    s.version}
     s.requires_arc = true
     s.source_files = ‘ChXCategory/*'
     #依赖库,不能依赖未发布的库
     #s.dependency = 'AFNetworking' , 'SDWebImage'
    end
    

    下面是这些参数的意思,也很好理解,根据实际相应修改即可
    s.name -> 项目名 ,即使你要发布库的名字
    version -> tag 版本号(每次发布都需要修改
    ...
    s.source_files -> 这个是指定您要发布库的文件夹位置的,我这里是把文件都放在了 ChXCategory里了,后面的 /* 表示该文件夹里的所有文件,当然您也可以写成 *.{h,m}表示里面的所有 .h 和 .m 文件

    如果 ChXCategory 里又嵌套了一个文件夹,您可以使用代码 ‘ChXCategory/*','ChXCategory/*/*'
    目录图参考如下:

    mulu.png

第四步:发布

  1. 上传到 github(使用 Git 命令行)

    将修改后的本地项目文件,提交到线上

    1. git add .  
     
    2. git commit -m "提交说明文字"
     
    3. git push origin master
    

    add 是将代码从工作区提交到暂存区, . 表示提交所有文件
    commit 是将代码从暂存区提交到版本库, -m后面需要填写更新日志
    push 是推送到远程主分支,您也可以推送到其它相应分支

  1. tag
    每次发布都得重新设置 tag

    1. git tag 1.0.0  
       
    2. git push --tags
    
    3. git push origin master
    

    可以使用 git tag查看当前存在的tag
    每次打完 tag 之后,记得要推送(push)到远程分支

  1. 验证 .podspec文件内容是否正确

    pod spec lint ChXCategorys.podspec --verbose  
    
    

    ChXCategorys.podspec 这就是您项目中新建的 podspec 文件,需替换成您的

注意:
如果验证出现错误,修改完成后,需要把修改完成后的项目重新提交到 git 上,打 tag每次验证都需要修改下版本号tag 要加 1 ,podspec文件里的 s.version 也加 1

  1. 可以发布啦

    当验证完成无报错时,下面我们就可以发布我们的库了

    pod trunk push ChXCategorys.podspec
    

    耐心等待一会儿,结果出现有 Congrats 时,说明您的库已经发布成功啦。

  2. 验证

    pod search ChXCategorys
    

    输入以上命令,如果可以搜索到的话,那么恭喜.
    如果搜索不到,出现如下错误提示

    [!] Unable to find a pod with name, author, summary, or description matching `xxx`
    

    而你确认已经发布成功的话,那么你可以

    1. 前往 资源库 去删除 cocoapod 缓存中的 search_index.json 文件,重新搜索一次再试试,有点慢,需要等待一会儿
    2. json文件路径: /Users/xx/Library/Caches/CocoaPods (xx是你的电脑账户名)

使用

进入到项目中,在 podfile 文件中添加 pod ChXCategorys (ChXCategorys您的库名),然后执行 pod install 就可以下载到您的库了

上一篇下一篇

猜你喜欢

热点阅读