项目中经常使用pod 'xxxxx'导入第三方库,那我们如何发布/使用自己的库呢?
一:在GitHub上创建管理源码的仓库;
二:把GitHub仓库clone到本地,并导入源码;
三:保存源码推送到仓库;
四:创建.podspec文件,并建个需要发布版本的tag;
五:编辑. podspec文件,通过已注册的trunk账号保存并push;
六:创建Demo项目,并使用该库;
一:创建仓库(创建时要加入LICENSE)
二:把GitHub仓库clone到本地,并导入源码,创建.podspec文件;
1:git clone https://github.com/nameIsYong/HYPodLibDemo.git
2:在HYPodLibDemo文件夹里,我创建了文件夹Classes并存放了.swift源码文件
三:保存源码推送到仓库
1:git add --all
2:git commit -m "第一次提交源码"
3:git push -u origin master
四:创建.podspec文件,并建个需要发布版本的tag
1:pod spec create HYPodLibDemo (在LICENSE同层目录创建. podspec文件,内容如下)
2:pod lib lint HYPodLibDemo.podspec --allow-warnings (校验文件是否格式正确)
3:git tag '0.0.1' (新建个tag,并和. podspec文件里面的spec.version相同)
4:git push --tags
. podspec文件如下
Pod::Spec.new do |spec|
spec.name = "HYPodLibDemo"
spec.version = "0.0.1"
spec.summary = "A short description of HYPodLibDemo."
spec.description = <<-DESC
学习制作pod库
DESC
spec.homepage = "https://github.com/nameIsYong/HYPodLibDemo"
spec.license = { :type => "MIT", :file => "FILE_LICENSE" }
spec.author = { "nameIsYong" => "1228359686@qq.com" }
spec.platform = :ios, "9.0"
spec.source = { :git => "https://github.com/nameIsYong/HYPodLibDemo.git", :tag => "#{spec.version}" }
# spec.source_files 这里的Classes文件是和. podspec文件同层,下面的所有.h,.m,.swift文件。若是Classes/**/*.{swift}则表示Classes目录下的所有子目录下面的.swift文件
spec.source_files = "Classes/*.{h,m,swift}"
#spec.exclude_files = "Classes/Exclude"
end
五:编辑. podspec文件,通过已注册的trunk账号保存并push
1:pod trunk me (查看自己是否有账号)
2:若没有注册过则使用命令 pod trunk register xxx@qq.com '用户名' --verbose
3:去自己邮箱点击链接激活(若没收到邮件,查看是否被当成垃圾邮件过滤了)
4:pod trunk me 查看刚注册账号信息
5:pod trunk push HYPodLibDemo.podspec --allow-warnings(发布0.01这个版本)
六:创建Demo项目,并使用该库;
1:新建Project项目为 “PodDemo”
2:在终端cd进入PodDemo.xcodeproj同层的文件夹里用 pod init初始化
3:在Podfile文件里面 pod 'HYPodLibDemo' 导入
4:pod install 安装(pod update 更新)
有什么错误欢迎批评指正 。