- 提示:在pod install 的时候导入的是 release 对应 tag里面的 JKGCDTimer 文件夹
五、上传 spec 到gitHub的远程索引库
- 5.1、在 guides.cocoapods里面有一个 Getting setup with Trunk,
注册 trunk
,它的作用
是能够让我们把本地的 spec 文件上传到 gitHub的远程索引库
// pod trunk register orta@cocoapods.org 'Orta Therox' --description='macbook air' // orta@cocoapods.org: 写邮箱 ,下面是我写的 pod trunk register 2318151015@qq.com 'IronMan' --description='咨询'
5.2、做完上面的,你的邮箱会收到一封邮件!,打开邮件上的链接
- 在终端执行你的库名的:spec 文件名
我要执行的是:pod trunk push JKGCDTimer.podspec
,如果有警告你可以后面加上去除警告:pod trunk push JKGCDTimer.podspec --allow-warnings
- 5.3、在
二
中的 spec 内容要填好。可以执行下面的命令来检查是否符合要求 ,不能有任何警告或错误,出现的常见错误
pod spec lint JKRichText.podspec
- 5.3.1、spec 验证通过
5.3.2、如果你出现了error,那就逐个处理,下面仅仅展示一个错误的处理
解决方案就是去xcode设置里面,将Command line Tools设置一下,在Xcode>preferences>Locations里面,设置之后再运行终端即可
5.4、若发布成功,会更新 master repo,会出现有类似如下信息:
5.5、验证在CocoaPods上是否发布成功(也就是能够搜到),如果出现红色报错
解决办法:重新 创建本地cocoapods搜索库 来解决:,先删除本地Cocoapods里面的search_index.json
文件
control + shift + G 输入 ~/Library/Caches/CocoaPods/search_index.json
- 再次搜索时,会自动重新创建本地的索引库,也就是刚才删除的
search_index.json
。时间会很慢,下载需要时间的,如果在搜一个框架找不到的时候,更新pod库:pod setup
- 再次搜索
pod search 框架名
,若能查找到,表示发布成功
- 5.6、如果你想在别人的电脑上也能search到你的项目,让别人电脑上更新 master repos,强制更新。
pod setup
- 提示:如果别人的cocoapods是最新的,你可以copy他的 master,
control+shift + G
输入~/.cocoapods/repos/master
,拷贝 master就好了
- 5.7、也可以在Cocoapods官网查看你的框架的状态,输入框架的名字即可,一般官网存在延迟,发布后不能立即搜出来,可能要等到第二天。
六、查看自己在CocoaPods的注册信息
pod trunk me
七、使用自己的框架(cocoapods),下面我们新建一个项目(JKTest),来使用
- 7.1、创建项目 JKTest
- 创建项目 JKTest
- 7.2、创建 Podfile 文件
cd 进入 JKTest # 创建 Podfile 文件 pod init # 在Podfile文件里面输入要导入的框架 pod 'JKGCDTimer', '~> 0.0.1'
# 导入框架 pod install
八、补充:subspec分支功能
- 8.1、先看我后面又创建的一个框架 JKOCProjectTool ,我们的目的就是要在 JKOCProjectTool 框架里面创建一个文件夹 JKUiviewExtension
8.2、下面是我框架的结构
8.3、下面是 spec 文件信息的内容
Pod::Spec.new do |s| s.name = "JKOCProjectTool" s.version = "0.0.7" s.summary = "OCTool." s.description = "这是一个很好用的OC的工具类,我会不断的更新的" s.homepage = "https://github.com/JoanKing/JKOCProjectTool" s.license = "Apache License 2.0" s.author = { "JoanKingWC" => "2318151015@qq.com" } s.ios.deployment_target = "8.0" s.source = { :git => "https://github.com/JoanKing/JKOCProjectTool.git", :tag => "#{s.version}" } # s.public_header_files = 'JKOCProjectTool/JKOCProjectTool.h' s.source_files = 'JKOCProjectTool/JKOCProjectTool.h' s.subspec 'JKUiviewExtension' do |ss| ss.source_files = 'JKOCProjectTool/JKUiviewExtension/**/*' # ss.public_header_files = 'JKOCProjectTool/JKUiviewExtension/UIView+JKUiviewExtension.h' end end
提示:s.source_files 路径的寻找是以 JKOCProjectTool.podspec
为基准的,如果框架与JKOCProjectTool.podspec同目录的话直接写框架的文件夹名字,如若你有疑惑可以,CocoaPods搜JKOCProjectTool 看我的写法。