欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2022-04-09 21:42:20
...

制作第一个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的目录结构是这样的:

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

然后将自己的仓库添加标签和版本,提交到 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'
  • aaa@qq.com
    邮箱,注册时成功后会给你发一封邮件用来验证。
  • 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