创建公有pod库
1.注册CocoaPods账户信息
想要创建一个开源pod库, 首先我们需要注册CocoaPods,官方链接。
1 pod trunk register 邮箱地址 '用户名' ‑‑verbose
2 pod trunk register xxx.com 'Bobtao' ‑‑verbose
这里我们一般使用 github 邮箱和用户名, 然后在你的邮箱中会收到确认邮件, 在浏览 中点击链接确认即注册成功,
成功之后可以终端执行:
pod trunk me
2.创建Pod项目工程
共享库需要三个必不可少的部分:
共享库需要三个必不可少的部分:
A. 共享文件夹 (文件夹存放着你要共享的内容, 也就是其他人pod得到的文件, .podspec文件中的source_files需要
指定此文件路径及文件类型);
B.LICENSE文件 (默认一般选择MIT);
C.库描述文件.podspec (本库的各项信息描述, 需要提交给CocoaPods, pod通过这个文件查找到你共享的库,
.podspec文件的格式见第).
这一步有两种方式:
A.如果你已经有了现成的想要共享的文件,用终端命令生成 podspec 库描述文件,开源证书
pod spec create TBFontAdjust
B.你想要创建一个全新的带演示Demo的工程去做自己的共享, 可以使用终端命令:
pod lib create TBFontAdjust //这个会自动帮你生成demo工程以及podspec描述文件开源证书
举例:
1.cd进入要创建项目的目录然后 执行以下命令
#pod lib create [项目名]
$pod lib create TBFontAdjust
接着在Terminal控制台会输出5个问题:
1.What language do you want to use?? [ Swift / ObjC ]
ObjC
第一个问题是问你选择Swift还是Objc构建项目。此教程 选的是ObjC
2.Would you like to include a demo application with your library? [ Yes / No ]
Yes
第二个问题问你是否需要创建一个Demo项目,此教程选的是Yes
3.Which testing frameworks will you use? [ Specta / Kiwi / None ]
None
第三个问题让你是否选择一个测试框架,此教程选 None
4.Would you like to do view based testing? [ Yes / No ]
Yes
5.What is your class prefix?
tdb
填写完成后,会自动打开工程。
2.配置pod工程
2.配置
Pod::Spec.new do |s|
s.name = 'TBFontAdjust'//项目名
s.version = '0.1.0'//版本
s.summary = 'iOS adjust test'//简介
# This description is used to generate tags and improve search results.
# * Think: What does it do? Why did you write it? What is the focus?
# * Try to keep it short, snappy and to the point.
# * Write the description between the DESC delimiters below.
# * Finally, don't worry about the indent, CocoaPods strips it!
//描述
s.description = <<-DESC
测试
DESC
s.homepage = 'https://github.com/bobtaocool/TBFontAdjust'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
#开源协议
s.license = { :type => 'MIT', :file => 'LICENSE' }
#作者
s.author = { 'TDB' => '[email protected]' }
#源代码的链接地址
s.source = { :git => 'https://github.com/bobtaocool/TBFontAdjust.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/'
#支持的平台及版本
s.ios.deployment_target = '8.0'
#资源文件地址(把你的库代码放在这个Classes)
s.source_files = 'TBFontAdjust/Classes/**/*'
# s.resource_bundles = {
# 'TBFontAdjust' => ['TBFontAdjust/Assets/*.png']
# }
#公开头文件地址
# s.public_header_files = 'Pod/Classes/**/*.h'
#所需的framework,多个用逗号隔开
# s.frameworks = 'UIKit', 'MapKit'
#依赖关系,该项目所依赖的其他库,如果有多个需要填写多个s.dependency
# s.dependency 'AFNetworking', '~> 2.3'
end
配置完成可以进行验证
pod lib lint
如出现警告:可以
podspec --use-libraries --allow-warnings
如果出现passed validation说明配置没问题
配置好后,sourectree 提交,推送到远程。
3.本地测试
打开Example工程目录Podfile文件修改下pod 的引用
#pod 'MyLib', :path => '../' # 指定路径
pod 'TBFontAdjust', :podspec => '../TBFontAdjust.podspec'
然后在Example工程目录下执行pod update命令
打开项目工程,现在可以看到库文件都被加载到Pods子项目中了.
4.推送到远程仓库
提交代码到远程仓库
git add .
git commit ‐m “xxx”
git remote add origin 远程仓库代码地址
git push origin master
给仓库打标签
git tag ‐a 1.0.0 ‐m “1.0.0 release” (这里的版本号与podspec里一致)
git tag //查看标签是否成功
git push origin ‐‐tags
2.创建私有的仓库(Spec Repo)
执行以下命令:(库名,地址需和配置文件填写一样)
pod repo add 库名 地址
TBFontAdjust.podspec提交到远程Spec Repo仓库中
cd进入TBFontAdjust项目根目录
# pod repo push [Repo名] [podspec 文件名字]
$ pod repo push TBFontAdjust TBFontAdjust.podspec
或者
pod trunk push YKNetKit.podspec ‐‐allow‐warnings
如果提交成功可以在~/.cocoapods/repos/MySpecs目录下查看
上传项目到Cocoapods官方的仓库里去
pod trunk push TBFontAdjust.podspec
如果出现[!] You need to register a session first
执行命令注册:
pod trunk register [email protected] tdb
再次执行:pod trunk push TBFontAdjust.podspec
Updating spec repo `master`
Validating podspec
-> TBFontAdjust (0.1.0)
Updating spec repo `master`
--------------------------------------------------------------------------------
Congrats
TBFontAdjust (0.1.0) successfully published
October 21st, 08:47
https://cocoapods.org/pods/TBFontAdjust
Tell your friends!
--------------------------------------------------------------------------------
bogon:TBFontAdjust bob$
说明提交成功了.
3.查看操作是否成功
pod search TBFontAdjust
有时候会遇到搜索不到的情况:
[!] Unable to find a pod with name, author, summary, or description matching
TBFontAdjust
当遇到上面这种情况的时候,按如下步骤进行操作:
执行pod setup。执行该指令之后,我们再试试“pod search TBFontAdjust”,如果能够成功搜索出结果,那么不需要做下面步骤的操作;如果还是搜索不到,那么继续后续步骤;
删除~/Library/Caches/CocoaPods目录下的s
如果出现这个
[!] An unexpected version directory
Assets
was encountered for the
解决方法:进入指定文件夹repos把TBFontAdjust删除即可。
参考链接:
CocoaPods应用篇之搭建并发布自己的私有库
利用CocoaPods创建私有库