美文网首页iOS Developer程序员
iOS 进阶篇-上传Lib到CocoaPods

iOS 进阶篇-上传Lib到CocoaPods

作者: 破晓霜林 | 来源:发表于2017-01-05 14:02 被阅读168次

    一、前言

    最近这两天将分享都是CocoaPods相关,内容比较枯燥偏向于语法方面和工具方面,但是磨刀不负砍柴工。如果连cocoaPods都不会使用未免太low!
    首先再上一篇《关于CocoaPods》主要介绍的都是关于CocoaPods的环境安装部分。如果遇到问题,通常无非就是从ruby -v 到 gem -v 再到 pod --version把对应的版本都升级到最新的版本基本问题都不到。完成这部分工作,配合着Podfile的语法就能够很方便的使用别人的lib。但是当我们自己有写的不错的lib需要和别人分享的时候,那我们又该怎么做呢?
    先附上:CocoaPod的官网地址:https://blog.cocoapods.org

    二、CocoaPods上传的流程

    CocoaPods的上传流程图

    1. 首先注册trunk,当然注册之前请保证你的CocoaPods的版本足够新,如果不知道怎么操作的请参考的为文章上篇,《关于CocoaPods篇》

    sudo gem install cocoapod

    注册很简单,仅仅需要在终端中输入一下命令(邮箱,名字,请保证邮箱能接收到邮件)

    pod trunk register linxi_njupt@163.com 'cslmark' --verbose

    到了这一步仅仅后需要邮箱激活.png

    到邮箱中点击链接就能完成激活,之后以下命令来验证是否激活成功

    pod trunk me

    验证激活操作是否成功

    2. 配置Podspec文件

    a. 关于PodSpec文件

    从字面上也能理解Pod+Specification类似于PodFile的配置文件也具有自己的语法。因为
    简单地讲就是让CocoaPods搜索引擎知道你的代码的作者、版本号、源代码地址、依赖库等信息的文件。任何支持CocoaPods的开源代码都必须有podspec文件。CocoaPods在github中用一个repo来管理所有支持CocoaPods的开源代码:https://github.com/CocoaPods/Specs

    b. 怎么创建Podspec文件(其中:SLStatisticsView 为你创建的文件名)

    pod spec create SLStatisticsView

    3. 接下来的主要是设置一个github仓库

    具体的步骤http://blog.csdn.net/wzzvictory/article/details/20067595
    有非常详细的记录,跟着里面的第一第二步实现,其他内容有兴趣的可以看看。

    4. 接下来就是写podSpec文件

    主要把握几个点:

    s.name = "SLStatisticsView"
    s.version = "0.1.0"
    s.summary = "Offer a easy to built a statisticsView For iOS"
    s.description = <<-DESC
    It is a marquee view used on iOS, which implement by Objective-C.
    DESC
    s.homepage = "https://github.com/cslmark/SLStatisticsView"
    s.license = "MIT"
    s.author = { "cslmark" => "chensl@hadlinks.com" }
    s.platform = :ios, "7.0"
    s.source = { :git => >"https://github.com/cslmark/SLStatisticsView.git", :tag => "#{s.version}", :commit => "2873617a0b0967b5c6a560b3570b942ed336978e" }
    s.framework = "Foundation","UIKit"
    s.requires_arc = true

    5. 验证和上传,

    首先是cd 到对应的目录下
    pod lib lint SLStatisticsView.podspec

    失败的情况下.png

    也可以使用该命令这样可以看到具体失败的细节
    pod lib lint SLStatisticsView.podspec --verbose

    成功的情况下

    验证通过之后使用以下命令把源码push到CocoaPods上

    pod trunk push SLStatisticsView.podspec

    上传成功 版本更新push成功

    6. 附上我的改DEMO工程的信息

    gitHub地址: https://github.com/cslmark/SLStatisticsView
    此外其中更新的新的版本大体也是重新push的过程,包括更改git上的tag值,重写podSpec里面的s.version, commit (里面的内容是和可以用git log里面的哈希值对应)。然后重复第5小步,更新成功的之后将会出现的截图,我这边也已经上传。

    以下是我这个库是实现的效果图,有需要用到类似图表的可以下载

    pod 'SLStatisticsView', '~> 0.1.1'


    SLStatisticsViewDemo

    三、常见问题的解答

    • syntax error 比如在 iOS 7.0 出现 "^" 的语法错误
      特别注意不要用MAC自带的文本编辑器打开,文本编辑器会不自觉地的英文的""改成中文的 ”“ 找到出错的地方,最好使用终端打开编辑,使用到命令如下(编辑,退出文档, 插入, 退出编辑)

    Vim SLStatisticsView.podspec
    wq
    I
    Ese

    四、附录

    经常使用的命令行

    列举所有该git的tag号
    git tag
    只想得到1.4.2序列的标签
    git tag -l v1.4.2.*
    创建带有注释的标签,显示详情的标签
    git tag -a v1.4 -m 'version 1.4'
    git show v1.4
    增加标签和删除标签
    git tag '1.0.0'
    git push –tags
    git push origin --delete tag
    git

    相关文章

      网友评论

        本文标题:iOS 进阶篇-上传Lib到CocoaPods

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