美文网首页iOS开发的正确姿势iOS开发
发布自己的开源框架到Cocoapods

发布自己的开源框架到Cocoapods

作者: longjianjiang | 来源:发表于2016-07-04 22:54 被阅读517次

    今天自己写了个App内置浏览器,想上传到Cocoapods,之前一直都是用别人的,今天终于可以让人家通过pod install来安装自己的框架到项目中了。
    下面就示范下如何一步一步的将自己的框架上传到Cocoapods。
    如果你还没用过Cocoapods,可以看看唐巧这一篇文章用CocoaPods做程序的依赖

    去Github上为你自己的框架新建一个仓库

    • CocoaPods项目的源码在Github上管理,所以第一步我们需要创建一个属于自己的仓库。
    • 克隆仓库到本地 ,使用命令行:git clone 仓库地址
    • 在仓库所在目录新建项目

    配置.podspec文件

    该文件为Cocoapods依赖库的描述文件,每个Cocoapods依赖库必须有且仅有那么一个描述文件,简单地讲就是让CocoaPods搜索引擎知道你的代码的作者、版本号、源代码地址、依赖库等信息的文件。文件名称要和我们想创建的依赖库名称保持一致,我的LJIn-AppBrowser依赖库对应的文件名为LJIn-AppBrowser.podspec。

    如何编写?
    • 官方提供了一个模板并附有非常详细的注释说明。pod spec create LJIn-AppBrowser 该命令将在本目录产生一个名为LJIn-AppBrowser.podspec文件。但是打开创建完的文件你就会发现里面的东西太多了,很多都是我们不需要的。
    • 所以通常我们可以拿别人的.podspec文件进行修改,文件内容如下图:


      Snip20160704_3.png

    通过trunk推送pod spec文件

    • 1、 注册trunk
    • 在注册trunk之前,我们需要确认当前的CocoaPods版本是否足够新。trunk需要pod在0.33及以上版本,如果你不满足要求,打开Terminal使用ruby的gem命令更新pod。
    • 更新结束后,我们开始注册trunk:pod trunk register 616393956@qq.com 'longjianjiang' --verbose --verbose参数是为了便于输出注册过程中的调试信息。执行上面的语句后,点击邮件的链接就完成了trunk注册流程。使用下面的命令可以向trunk服务器查询自己的注册信息:pod trunk me 输出如下信息就表示你注册成功.
      Snip20160704_4.png
    • 2、Push项目到Github
    • 终端中用git指令提交代码
     git add -A
     git commit -m "first commit for version 1.0.0"
     git push origin master
    
    • 终端中给版本打tag
    git tag -a 0.0.1 -m 'Version 0.0.1’
    git push origin 0.0.1
    
    只有确保了以上两点,CocoaPods才能更准确地找到你的仓库,这个时候我们的目录结构通常如下######
    Snip20160704_6.png
    • 3、上传
    • 执行指令如下 PS:库中用到了第三方框架
      pod trunk push LJIn-AppBrowser.podspec
      然后你会得到下面的错误!
    Snip20160704_7.png
    所以当你的库中用到了第三方的框架,上传的时候得加上--use-libraries,这个时候上传的podspec文件转成json格式文件,如下图: Snip20160704_8.png

    此时可以试着搜索你的库,如果有结果则库已审核通过。

    Snip20160704_9.png

    尾巴

    第一次写Markdown,感觉棒极了!

    相关文章

      网友评论

      • 93未完待续:首先先谢谢你的分享,不过有有点疑问,假如再次发布框架,是否就不需要再注册trunk,假如换了台电脑,该如何登录trunk呢?
      • 夜凉听风雨:我上传的时候上传成功了,pod search 也能找到,但是只能自己下载,别人下载的时候就是提示 unable to find a specification for 'xxxxx' ,请问这是怎么一回事?
        夜凉听风雨:@longjianjiang 我让两个朋友下载了 但是都不行 而且他们下载其他的框架是可以的。还有个问题是我上传了两个框架,有一个能pod search到 另一个搜索不到,但是在pod网站上是能看到的。是不是每个人的pod账号有权限限制了别人的下载呢?
        longjianjiang:你让对方更新下本地的 CocoaPods 仓库列表试试 ,pod repo update
      • 孤独感爆棚:你好,我注意到一个细节“此时可以试着搜索你的库,如果有结果则库已审核通过。”,我上传成功后搜索不到,是这个原因吗?但是我在podfile文件里可以直接使用
        longjianjiang:等会试试看呢,可能有延时把:wink:

      本文标题:发布自己的开源框架到Cocoapods

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