美文网首页辅助/工具/插件等
如何制作自己的 CocoaPods 开源库

如何制作自己的 CocoaPods 开源库

作者: 徊家喂猪 | 来源:发表于2018-03-18 18:21 被阅读55次

    随着项目不断持续、功能模块增加,工程中的代码也是越来越多。这就带来一个问题,如何能做到“高内聚低耦合”,快速迭代,团队成员高效的配合呢。组件化可以帮助我们解决这些问题。

    在具体将工程抽离之前,我们先来介绍一下,如何制作自己的CocoaPods开源库。 PS:如果中间步骤卡住了,请看本文最后,可能会帮助到你哟~~

    具体步骤如下:

    1. 创建一个 GitHub 仓库;
    2. 将要开源的代码放到该仓库中;
    3. 创建一个pods 的配置文件 NAME.podSpec;
    4. 具体修改配置文件NAME.podSpec 中的相关信息;
    5. 将配置文件发布到 CocoaPods 官方索引库中;
    6. 如何维护和升级;

    可能有些朋友有疑问了,NAME.podSpec 是个什么玩意,CocoaPods 官方索引库又是怎么回事呢?我简单的用一张图来说明一下吧。

    image

    如图所示,我们想要制作自己的 CocoaPods 库,首先要为自己的源代码生成一个后缀名为 podSpec的文件。它是这个库的配置文件,在这个文件中,我们需要配置框架名、仓库地址、版本号、依赖库等等。我们将这个配置文件上传到远程索引库之后,当其他开发人员更新了他们的本地索引库,就可以搜索到并且使用我们的库了。

    接下来就仔细的说说,如何制作一个 CocoaPods 库。不过关于创建一个工程并上传到GitHub仓库,就不在这里赘述了。


    • 使用命令创建一个.podSpec文件,名字与项目名相同即可。
      • pod spec create LTCategory


        enter image description here

    这个配置文件用Xcode打开就可以,下面我们就来看看打开是什么样字吧。

    enter image description here

    前面 # 号不用我说了吧,注释部分的英文好的同学可以看看,我这里全部删掉啦。

    # 库名称,podfile里引入的就是这个名字。
    s.name         = "LTCategory"
    # 版本号,与仓库中的tag相对应。
    s.version      = "0.0.4"
    # 简介
    s.summary      = "LTCategory is a toolkit."
    # 详细描述
    s.description  = "LTCategory is a toolkit for developer."
    # 框架主页,一般填GitHub地址
    s.homepage     = "https://github.com/menglingtong/LTCategory"
    # 开源协议,我个人一般选择MIT
    s.license      = "MIT"
    # 作者信息
    s.author             = { "Jason" => "ak-7755@qq.com" }
    # 最低可使用的系统版本
    s.platform     = :ios, "7.0"
    # 源码地址,最好使用HTTPS,版本号直接使用上面的s.version
    s.source = { :git => "https://github.com/menglingtong/LTCategory.git", :tag => s.version }
    # 代码源文件地址,其实就是填一个与当前 spec 文件的相对路径
    s.source_files  = "LTCategoryFolder/*"
    # 需要使用的framework
    s.frameworks = "Foundation", "UIKit"
    # 该项目所依赖的其他库,如果有多个需要填写多个
    # s.dependency 'AFNetworking', '~> 2.3'  
    # 是否支持ARC
    s.requires_arc = true
    

    • ok,基本信息配置好了,校验一下格式吧。
      • 第一种忽略警告: pod lib lint --allow-warnings
      • 第二种不忽略警告: pod lib lint

    如果使用第二种命令,会有警告报出,但是其实不影响使用,所以我将所有警告全部忽略掉了。


    验证格式

    在正式发布到远程索引库中之前,还有一个我们需要注意的地方,那就是需要用git 添加一个 tag 与配置文件中的 s.version相同,这一点很重要,升级维护的时候也需要注意。

    • 用git添加一个tag来和.podspec中的 s.version = "0.0.1"相对应

      • git tag "0.0.1"
      • git push --tags
    • 在pod 上注册一下

      • pod trunk register ak-7755@qq.com 'jason' --description='my description' --verbose

    注册的时候,需要将邮箱和名字换上你自己的,然后会受到一封邮件,验证一下就可以继续下一步了。

    • pod trunk push LTCategory.podspec --allow-warnings
      成功之后会看到下面的图片。


      spec05

    让我们查一下吧, pod search LTCategory 。


    spec06

    升级和维护部分就相对简单了,每次更新之后,调整 s.version 和对应的 tag,重新发布一下.podSpec文件就ok了。

    按理说,这篇博客到这里就应该结束了。不过,我如果没猜错的话,你肯定没有很顺利的完成上述步骤吧~~

    以下几篇文章可能会有你想要的答案

    1. [Cocoapods]项目添加Cocoapods支持遇到的坑

    相关文章

      网友评论

        本文标题:如何制作自己的 CocoaPods 开源库

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