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

Posted 陌上心

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了将自己的开源项目提交到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的目录结构是这样的:

然后将自己的仓库添加标签和版本,提交到 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

以上是关于将自己的开源项目提交到CocoaPods的主要内容,如果未能解决你的问题,请参考以下文章

发布自己的开源框架到CocoaPods

如何发布自己的开源框架到CocoaPods

手把手教你发布自己的 cocoapods 开源库

3分钟让你的框架支持cocoapods

Swift开源框架发布到CocoaPods

给自己的开源项目添加CocoaPods支持