将自己的开源项目提交到CocoaPods

制作第一个Pod时百度了好多,也在官网上看了很久,踩了很多坑才弄好。这里只记录一些关键步骤用于以后查阅(因为教程太多了)。

创建仓库

GitHub 上创建仓库的时候添加一个MIT License

创建 podspec

将自己的仓库克隆岛本地后要创建 podspec 文件,以DLKeyboardManager 为例,命令为 :

cd  DLKeyboardManager
pod spec create DLKeyboardManager

然后要编辑 podspec 文件,可以使用终端来编辑(vim DLKeyboardManager.podspec),不过很不好用,我用的 Sublime Text

podspec 文件中很多以 # 开头的文字,其实这应该是被注释掉的,可以选择性的编辑,其余的根据提示来填写,其中也有一些不必要的,注释掉就行。大体上是这个样子的:

Pod::Spec.new do |s|
s.name         = "DLKeyboardManager"
s.version      = "0.0.1"
s.summary      = "方便监听Keyboard的show和hide."
s.homepage     = "https://github.com/TheForgottenProgrammer/DLKeyboardManager"
s.license      = { :type => "MIT", :file => "LICENSE" }
s.author       = "Dalang"
s.platform     = :ios, "8.0"
s.source       = { :git => "https://github.com/TheForgottenProgrammer/DLKeyboardManager.git", :tag => "#{s.version}" }
s.source_files = "DLKeyboardManager", "DLKeyboardManager/**/*.{h,m}"
s.framework    = "UIKit"
end

这里要注意的是 s.source_files,它关系到你的pod中的文件,所以一定要构建好你的文件目录结构。DLKeyboardManager的目录结构是这样的:

1

然后将自己的仓库添加标签和版本,提交到 GitHub :

git add .
git commit -m "0.0.1"
git tag 0.0.1
git push --tags
git push origin master

验证 podspec 文件

很简单,就一句指令:

pod spec lint DLKeyboardManager.podspec

pod spec lint DLKeyboardManager.podspec --allow-warnings

提交到Cocoapods

第一次提交需要先注册,官方给出的例子为:

pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air'
  • orta@cocoapods.org
    邮箱,注册时成功后会给你发一封邮件用来验证。
  • Orta Therox
    用户名。
  • macbook air
    一个描述,这个描述很耐人寻味,才开始的时候百度到的教程写了一句“这里写描述”,我就随便写了一句,结果没通过,然后把官网上的指令粘上去,替换自己的邮箱和用户名,将“macbook air”改成了“macbook pro”,然后就通过了||-_-||。

注册成功后提交:

pod trunk push DLKeyboardManager.podspec --allow-warnings

提交成功后可能会有延迟,可以执行:

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

然后就可以搜索到了

pod search DLKeyboardManager

/*
-> DLKeyboardManager (0.0.1)
   方便监听Keyboard的show和hide.
   pod 'DLKeyboardManager', '~> 0.0.1'
   - Homepage: https://github.com/TheForgottenProgrammer/DLKeyboardManager
   - Source:   https://github.com/TheForgottenProgrammer/DLKeyboardManager.git
   - Versions: 0.0.1 [master repo]
*/

大功告成!

删除和修改

第一次操作的时候可能就成功了,但是之后发现里面有了喝多不必要的文件,需要修改,就按照上面的方式,调整仓库目录结构,修改 podspec 文件,重新提交新的版本。完美主义者可能不会允许这样的瑕疵,于是删除重新开始:

pod trunk delete DLKeyboardManager 0.0.1

参考:

http://www.cocoachina.com/ios/20180112/21842.html

https://www.jianshu.com/p/0e1d796b2a42

https://www.jianshu.com/p/a1339d45a324

http://www.cocoachina.com/ios/20160301/15459.html

https://www.cnblogs.com/richard-youth/p/4704413.html

https://www.jianshu.com/p/283584683b0b

https://www.cnblogs.com/xzjxylophone/p/4956469.html

https://www.jianshu.com/p/b5e5cd053464

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值