美文网首页
发布自己的开源库到cocoapods

发布自己的开源库到cocoapods

作者: 雾霭天涯 | 来源:发表于2019-05-10 21:55 被阅读0次

    1. 整体文件目录
    说明: 我们总不能把所有文件都传上去吧,该传啥传啥,就是我们这一步要做的。
    看下图: (s.source_files = "PRZBtnClick/Category/*/.{h,m}"注意这个时候是:.podspec文件和PRZBtnClick/Category/中的PRZBtnClick在同一层级目录下)

    层级.png
    首先我们找到工程目录,在工程目录里面创建一个Code(注意大小写)文件夹,把要上传的代码复制粘贴一份到这里

    2. 给项目打一个tag
    说明: 首先你要把工程上传到github,上传这部分在这里不会涉及,如果不会请自行百度;接下来我们打一个tag
    请看下图:

    2.jpeg 3.jpeg 4.jpeg

    然后点击上图中的提交按钮,就可以成功提交tag了(按钮图中没有,在下面呢)

    3. 接下来就是一系列的终端操作了
    cd 进入到你的工程目录;打开终端,输入cd,然后拖动你的工程到终端,回车。
    创建你的工程名.podspec文件,终端命令如下touch 你的工程名.podspec
    在你的工程文件中打开刚刚创建的文件(如果打不开,下载个Sublime Text,用它打开),打开之后,将下面文本粘贴到里面。注意:第一行不加v

    @version = "0.0.1"
            Pod::Spec.new do |swi
            s.name = "PRZBtnClick"
            s.version = @version 
            s.summary = "简述1"
            s.description = "描述2" 
            s.homepage = "https://github.com/wuaitianya/PRZBtnClick" 
            s.license = { :type => 'MIT', :file => 'LICENSE' } 
            s.author = { "wuaitianya" => "wuaitianyapeng@163.com" } 
            s.ios.deployment_target = '8.0' 
            s.source = { :git => "https://github.com/wuaitianya/PRZBtnClick.git", :tag => "v#{s.version}" } 
            s.source_files = "PRZBtnClick/Category/**/*.{h,m}"  
            s.requires_arc = true 
            s.framework = "UIKit"
            end
    

    注意都是英文符号:单引号和双引号。
    s.source_files = 'code' 如果在同一目录下
    s.source_files = ‘工程名/Code//.{h,m}’
    如果在同一个目录,其中,特别注意s.source_files这个字段的后面部分,层级目录一定是podspec所在的文件位置的工程名开始到你要上传的文件目录为止
    “” 表示匹配所有文件
    “.{h,m}” 表示匹配所有以.h和.m结尾的文件
    *” 表示匹配所有子目录

    上面那一堆属性咱们慢慢说s.name : 工程名 s.summary :简述 s.description : 描述 s.homepage : github项目网页 s.license : 这个是授权,后面我会在命令行的时候忽略他 s.author : 作者 s.ios.deployment_target : 你支持的最低版本 s.source : github下载地址(.git),以及版本tag s.source_files : 这里超级重要,如果你是按照我第一部创建的文件夹,就跟我们那么写就行s.requires_arc :是否是ARC s.framework : 你支持的库

    4验证刚刚创建的这个文件能不能用
    终端输入(还是在工程目录文件夹下哦):pod spec lint
    如果出现警告,使用下面进行忽略pod spec lint --allow-warnings
    出现绿色的就代表成功了。这里一定要注意: 1. tag是打到当前的分支的,如果找不到文件的话,先上传一下,再给当前版本打个tag,而且要用sourceTree看看这个tag,如果没有,用sourceTree打个tag,右击最近的节点,选择标签。 2.文件路径一定要写对了,如果找不到文件,请自行解决XXXXX.podspec passed validation.

    5注册上传到CocoaPods所用的账号密码
    pod trunk register 邮箱 ‘用户名’ –description=’描述’注意: 邮箱必须是你注册github的邮箱,用户名最好是你github的用户名。 这一步会给你邮箱发一条验证邮件,点击里面的链接,如果链接不可以点击,那就复制粘贴到浏览器按回车如果出错,可以使用这句 pod trunk register wuaitianyapeng@163.com [wuaitianya] 按照错误提示信息来完善。
    邮箱注册成功之后可以验证一下
    输入pod trunk me验证成功之后就可以上传了

    6上传到CocoaPods
    pod trunk push(请耐心等待)
    使用这句忽略警告pod trunk push --verbose --allow-warnings上传成功之后,正常情况来讲,pod search 是找不到的,你可以执行下列命令行,作用就是删除Cocoapods的搜索文件,这样做之后,你进行pod search的时候会重新加载这个文件rm ~/Library/Caches/CocoaPods/search_index.json
    删除之后再pod search 你上传的代码
    搜索到之后就证明你成功了,可以用了,怎么使用我就不说了,相信看得懂这篇文章的人都会使用Cocoapods的
    如果需要添加版本,只需要再打个tag(tag加v哦,例如v1.0.0),在文件里改最上面的版本号(这个不加v的),然后上传就好了(pod trunk push),而且上传的时候,一定要保证cd到工程文件下,并且工程文件下是有.podspec 文件的

    错误提示

    [!] There was an error pushing a new version to trunk: execution expired
    原因:推送过期
    解决方案:重新将podspec文件传到trunk上
    pod trunk push xxx.podspec

    将cocoapods项目更新操作

    1首先修改需要更新的文件
    2在GitHub上面添加一个新的tag值
    3修改本地xxx.podspec 文件中的版本值,然后使用GitHub客户端将本地修改提交到GitHub上去
    4验证xxx.podspec 文件 pod spec lint --allow-warnings
    5上传cocoapods pod trunk push --verbose --allow-warnings

    Cocoapods操作

    显示已上传到cocoapods的项目
    pod trunk me
    删除已上传到cocoapods的项目
    pod trunk delete AFNetwroing 1.0

    可以直接搜索自己的项目 点人用户名,可以查看cocoapods上面自己的项目
    https://cocoapods.org/owners/33370

    相关文章

      网友评论

          本文标题:发布自己的开源库到cocoapods

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