IOS知识积累iOSGXiOS

CocoaPods创建一个公开库

2017-05-11  本文已影响60人  KnowWhy

1. 把待公开的项目上传gitHub远程仓库。

注:代码提交git成功后,打好我们的发布版本tag值,如:0.0.1

2. 安装CocoaPods。

3. 创建和编写.podspec文件。

  1. 创建.podspec文件命令如下:
    $ pod spec create Name
    

注:Name为创建的.podspec文件名字,一般取与工程文件相同的名字。

  1. .podspec编写

    创建的Name.podspec文件打开可看到一个默认的模版,我们可在默认模版基础上修改,也可参考gitHub上一些优秀的第三方库的.podspec文件,如:AFNetworking库的AFNetworking.podspec文件,直接复制内容然后按照自己的项目修改。

    如本人公开的一个基于FMDB封装的数据库升级库DatabaseManagerDatabaseManager.podspec文件内容如下:

    Pod::Spec.new do |s|
      s.name         = 'DatabaseManager'  # 项目工程名称,即公开的可检索的pod 名称
      s.version      = '0.0.2'            # 版本号,对应相应的tag值
      s.license      = 'MIT'              # 指定开源协议
      s.summary      = 'upgrate database table columns'   # 简短的描述语
      s.homepage     = 'https://github.com/yangyongzheng/DatabaseManager' # 主页地址
      s.social_media_url   = 'http://twitter.com/yangyongzheng'
      # 作者名和邮箱
      s.author             = { 'yangyongzheng' => 'youngyongzheng@qq.com' }
      # 公开源码git仓库地址,指定发布的tag版本,设置有子目录
      s.source       = { :git => 'https://github.com/yangyongzheng/DatabaseManager.git', :tag => s.version, :submodules => true }
      s.requires_arc = true     # 设置为ARC
      s.platform     = :ios, '7.0'  # 指定支持的最低iOS版本
    
      # 指定公开的头文件以及文件路径(路径以.podsepc文件所在文件夹开始算)
      s.public_header_files = 'DatabaseManager/DatabaseManager/DatabaseHeader.h'
      s.source_files = 'DatabaseManager/DatabaseManager/DatabaseHeader.h'
    
      # 设置子目录名称以及想公开的头文件(.h)和文件(如.h/.m)路径(路径以.podsepc文件所在文件夹开始算)
      s.subspec 'Standard' do |ss|
        ss.source_files = 'DatabaseManager/DatabaseManager'
        ss.public_header_files = 'DatabaseManager/DatabaseManager/Database*{Macro,Manager,Protocol}.h'
      end
    
      s.dependency 'FMDB' #指定依赖的其他第三方库,可指定具体版本号
    
    end
    

    项目DatabaseManager目录结构树如下:

DatabaseManager项目目录结构树.png

指定的源码路径以.podsepc文件所在文件夹开始推算,具体路径以具体项目库源码路径为准,此仅供参考。

4. podspec文件校验

校验分为本地校验和远程仓库校验,校验之前要先设置好版本相对应的tag值

  1. 本地校验命令如下:
# 本地校验命令
$ pod lib lint
# 拼接了其他参数的本地校验命令
$ pod lib lint --allow-warnings --use-libraries --verbose

注:根据校验错误提示,自己按需求在$ pod lib lint后面拼接--allow-warnings--use-libraries—verbose等选项。

校验.png 本地校验成功.png

DatabaseManager passed validation.表示通过校验。其中有一个警告- WARN | url: There was a problem validating the URL http://twitter.com/yangyongzheng.,因为校验时我允许有警告所以可校验通过(pod lib lint命令默认是不允许有警告的)。

  1. 远程仓库源码校验
# 远程仓库校验
$ pod spec lint
# 允许有警告、使用静态库,打印校验日志命令
$ pod spec lint --allow-warnings --use-libraries --verbose
远程校验成功.png

5. 提交到官方检索库

上面第4步.podspec文件校验成功后,就可提交到官方检索库了。

$ pod trunk register email@example.com 'Your Name' --description='Personal Laptop'

注册成功后,注册的邮箱会收到一份邮件,进入邮箱点击下邮件中的验证地址验证下就注册成功了,接下来就可以提交了...

# If `PATH` is not provided, defaults to the current directory.
$ pod trunk push [PATH]
# 拼接选项和第4步校验拼接的选项要一致
$ pod trunk push --allow-warnings --use-libraries --verbose

注意:$ pod trunk push后面拼接的选项要和第4步$ pod spec lint校验拼接的选项一致。

6. 开始使用

上叙第5步提交成功后,就可以开始在项目中使用我们公开的库了。

上一篇下一篇

猜你喜欢

热点阅读