iOS制作cocoapods公共库以及私有库

3,583 阅读2分钟

创建项目

github上创建仓库, 如下图所示

创建github仓库

注意:选择添加一个证书, 后面创建pod库的时候需要用到.

克隆项目到本地

这里使用我已有的项目直接练手, 就不新建了.

使用终端执行git clone https://github.com/ZpFate/TFKit.git命令或者使用Source Tree等工具将代码克隆到本地.

创建podspec文件

进入克隆到本地的仓库目录下, 执行pod spec create TFKit命令

创建podspec文件

编辑podspec文件

使用vscode命令打开podspec文件进行编辑

vscode打开spec文件

Pod::Spec.new do |s|

  # 库名称
  s.name         = "TFKit"

  # 库的版本
  s.version      = "0.0.1"

  # 库摘要
  s.summary      = "iOS开发中一些常用的基类与类目工具"

  # 库描述(最好比summary多写一些描述)
  s.description  = <<-DESC
                    iOS开发中一些常用的基类与类目工具, 有AES加密, 字符串处理等
                   DESC

  # 远程仓库地址,即 GitHub 的地址,或者你使用的其他的 Gitlab,码云的地址
  s.homepage     = "https://github.com/ZpFate"

  # MIT许可证(The MIT License),软件授权条款
  s.license      = "MIT"
  # s.license      = { :type => "MIT", :file => "FILE_LICENSE" }

  # 作者信息
  s.author             = { "Jonathan" => "Jonathan_dk@163.com" }

  # 支持的系统及支持的最低系统版本
  s.platform     = :ios
  s.platform     = :ios, "8.0"

  # 支持多个平台使用时
  # s.ios.deployment_target = "8.0"
  # s.osx.deployment_target = "10.7"
  # s.watchos.deployment_target = "2.0"
  # s.tvos.deployment_target = "9.0"

  # 下载地址,即远程仓库的 GitHub下载地址(clone 地址),使用.git结尾
  s.source       = { :git => "https://github.com/ZpFate/TFKit.git", :tag => "#{s.version}" }

  # 当前目录是podspec文件所在的目录
  # 等号后表示的是要添加 CocoaPods 依赖的库在项目中的相对路径
  # “**”这个通配符代表  s.source_files  = "TFKit-OC/TFKit-OC/TFKit/*"
  # 次级文件夹
  s.subspec 'TF_Category' do |ss|
  ss.source_files = 'TFKit-OC/TFKit-OC/TFKit/TF_Category/*'
  end

  s.subspec 'TF_BaseClass' do |ss|
  ss.source_files = 'TFKit-OC/TFKit-OC/TFKit/TF_BaseClass/*'
  end

  # 指明文件夹下不需要添加到 CocoaPods 的文件
  # 这里是 Exclude 文件夹内的内容
  s.exclude_files = ""

  # 是否需要项目是 ARC
  s.requires_arc = true

  # 库中用到的框架或系统库(没用到可以没有)
  s.ios.frameworks = 'Foundation', 'UIKit'
  # s.framework  = ""
  # s.frameworks = "", ""
  # s.libraries = "",""
  # 使用到的第三方库
  # s.vendored_frameworks = ''
  # s.vendored_libraries = ''

  # 如果你的库依赖其他的 Podspecs,可以添加这些依赖项,例如
  # s.dependency 'AFNetworking', '~> 3.2.1'

end

编辑podspec文件

上传文件以及设置tag

使用git addgit commit, git push将添加的文件推送到github后,再进行tag设置。

设置tag

验证podspec文件

继续在当前目录下执行命令

pod spec lint

报错1 静待片刻, 显示上述错误, 则在终端执行

sudo gem install cocoapods

升级完成后再执行验证命令

验证成功标志:

验证成功

发布pod

如果没有注册过pod 需要先使用以下命令注册

pod trunk register email@xxx.com "username"

注册成功后在终端执行以下命令发布pod:

pod trunk push TFKit-OC.podspec

发布pod

发布成功

发布成功后但是不能通过pod search到

发布显示成功后, 使用pod search命令显示:

pod search失败

在终端输入

rm ~/Library/Caches/CocoaPods/search_index.json

完成后再搜索

pod search TFKit-OC

搜索成功

私有库

以上是公共库的创建, 如果我们只是想制作一个私有库, 制作的过程与上边是一样的, 但是我们不需要发布到cocoapods上. 现在我们把刚刚只做成的pod库转成私有的, 可以在码云上新建一个私有仓库.

码云制作私有库

然后更改一下podspec即可,

更改podspec文件source地址 保存提交到master, 现在我们可以直接在podfile文件中添加使用了.

    pod 'TFKit-OC', :git=> 'https://gitee.com/Twisted_Fate/TFKit.git'

执行pod install命令:

pod install私有库成功

到了这里, 私有库的创建以及使用也大功告成~