ios 组件化

上传iOS Framework到CocoaPods

2018-10-31  本文已影响48人  川少叶

1. 在Github新建仓库

创建公共的仓库,并且添加License,CocoaPods需要这个License。 创建Github仓库.png

2. 在仓库添加文件

将仓库clone到本地之后,使用以下命令创建.podspec文件

pod spec create yourFramework

.podspec文件去掉注释之后的内容如下

Pod::Spec.new do |s|
  s.name         = "CXLFirstFramework"
  s.version      = "1.0.0"
  s.summary      = "my test to upload framework to CocoaPods"
  s.description  = <<-DESC
                       this is my first framework, now I am learning to upload it to cocoapod
                   DESC
  s.homepage     = "https://github.com/xiaoLong1010/CocoaPodDemo"
  s.license      = "MIT"
  # s.license      = { :type => "MIT", :file => "FILE_LICENSE" }
  s.author             = "xiaolong1010"
  # s.platform     = :ios
  s.platform     = :ios, "8.0"

  s.source       = { :git => "https://github.com/xiaoLong1010/CocoaPodDemo.git", :tag => "#{s.version}" }

  # the framework upload to Cocoa Pods
  s.vendored_frameworks = 'Zhangfghur45.framework'
  s.frameworks = 'Foundation'
将Framework也添加到仓库,仓库就包含以下内容: 仓库内容.png

将.podspec和Framework推送到Github。

git add .
git commit -m “commit message”
git push -u origin master

为本次提交生成tag,该tag值对应.podspec中的s.source

git tag '1.0.0'
git push origin --tags

3. 验证.podspec文件

使用以下命令验证.podspec

pod spec lint your.podspec

如果成功的话,会出现以下提示

CXLFirstFramework.podspec passed validation.

可能碰到的问题

Abort trap: 6问题.png Abort trap: 6问题,我是通过升级CocoaPods的版本修复的。首先更新gem的源。https://ruby.taobao.org/,https://gems.ruby-china.org/这两个源都不能用了,要使用https://gems.ruby-china.com
 gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/

安装最新版的CocoaPods

sudo gem install cocoapods

4.注册CocoaPods的Trunk服务

CocoaPods提供Trunk服务,用于开发者管理Pods。首先注册邮箱和用户名。

pod trunk register yourEmail 'your name' --verbose

邮箱会收到一个验证链接,点击链接进行验证。使用下面的命令查看是否注册成功。

pod trunk me
注册成功.png
.podspec文件提交到CocoaPods
pod trunk push your.podspec
出现如下结果,就表明提交成功。 Pod提交成功.png

有如下命令,管理Pod

#  查看注册信息
pod trunk me
# 添加其他维护者
pod trunk add-owner XXXSDK 123456@qq.com
# 删除已发的版本
pod trunk delete XXXSDK 版本号
# 删除某个pod
pod trunk deprecate XXXSDK
# 删除其他维护者
pod trunk remove-owner XXXSDK 56789@qq.com

5 搜索Pod

更新本地Spec库

 pod repo update

查找Pod

pod search yourPod

如果出现以下错误,可以先删除search_index.json,再进行搜索.

Unable to find a pod with name, author, summary, or description matching
rm ~/Library/Caches/CocoaPods/search_index.json

参考文章

https://blog.csdn.net/jeikerxiao/article/details/52881773
https://blog.csdn.net/u010828718/article/details/81870432
https://www.jianshu.com/p/30246a000bc6
CocoaPods升级
https://blog.csdn.net/jeikerxiao/article/details/78949459
https://juejin.im/post/5ad0c92a518825364001db63
https://gems.ruby-china.com

上一篇下一篇

猜你喜欢

热点阅读