组件化cocoapods仓库删除(填坑)
前言
因为一开始学组件化的时候把一部分公司代码给搞到了 cocoapods 上,(虽然是私有仓库别人无法查看,虽然代码无关紧要)但是被公司信息安全的那帮同事给扫描到了,然后勒令删除,哎,都怪当年不懂事,自己造的孽呀(备注:此处只能在 cocoapods 看到 .podspec 中内容和 git 地址,除非知道 git 私有仓库密码,否则看不了代码,毕竟是私有仓库)
上篇文章iOS 组件化的创建 - 创建 cocoapods 库
删除已经推送到 cocoapods 上的仓库
一、仓库是放到Cocoapods 上了
pod search YLAppTool
image.png
1、删除已发布的库的某一版本
前提是cocopods 上的仓库存在,你 pod search 搜索到的版本号,并不是 cocoapods 推送的版本号,而是你 git 仓库的版本号!
pod trunk delete YLAppTool 1.0.0
二 删除仓库问题解决:
1、如果不带版本号会报错:
[!] Please specify a version.
[!] 请指定一个版本。
image.png
2、身份令牌无效
WARNING: It is generally considered bad behavior to remove versions of a Pod that others are depending on!
Please consider using the `deprecate` command instead.
Are you sure you want to delete this Pod version?
> YES
[!] Authentication token is invalid or unverified. Either verify it with the email that was sent or register a new session.
警告:删除其他人依赖的 Pod 版本通常被认为是不良行为!
请考虑使用 “弃权” 命令。
是否确实要删除此 Pod 版本?
> 对
[!] 身份验证令牌无效或未验证。请使用发送的电子邮件进行验证,或注册新会话。
image.png
解决办法:
自己 s.author 里面的邮箱
pod trunk register '1219876794@qq.com' '1219876794@qq.com' --description=''
image.png
验证发送成功之后,你邮箱会收到这样一份邮件,点击链接就好,原文是英文,我给翻译了一下
image.png
3、 [!] No pod version found with the specified version.(找不到具有指定版本的 pod 版本。)
继续删除已发布的库的某一版本
pod trunk delete YLAppTool 1.0.0
[!] No pod version found with the specified version.(找不到具有指定版本的 pod 版本。)
WARNING: It is generally considered bad behavior to remove versions of a Pod that others are depending on!
Please consider using the `deprecate` command instead.
Are you sure you want to delete this Pod version?
> yes
[!] No pod version found with the specified version.
警告:删除其他人依赖的 Pod 版本通常被认为是不良行为!
请考虑使用 “弃权” 命令。
是否确实要删除此 Pod 版本?
> 对
[!] 找不到具有指定版本的 pod 版本。
image.png
但是明明存在,为什么不能删除呢?难道是因为只有这一个版本?结果事实真像竟然是这:幸亏保留之前的截图,做了记录
image.png
删除成功
pod trunk delete YLAppTool 0.1.2
image.png
[!] The version is already deleted.
[!] 该版本已被删除。
终于把它给干掉了,搜索到的 1.0.0 版本,是因为我们项目的正式版本是 1.0.0,但是推送到 cocoapods 上的并不是 1.0.0 版本,而且 cocoapods 上不仅仅有一个版本!0.1.2 、 0.1.4
4、怎么判断已经把所有版本删除完了?
如果还有删除当前版本成功,会提示The version is already deleted. (存在或之前存在都会提示)如果当前版本是最后一个版本号,也依然会这样提示
如果删除任意版本都提示:[!] No pod found with the specified name.,那就是该库已经被删除了
WARNING: It is generally considered bad behavior to remove versions of a Pod that others are depending on!
Please consider using the `deprecate` command instead.
Are you sure you want to delete this Pod version?
> y
[!] No pod found with the specified name.
警告:删除其他人依赖的 Pod 版本通常被认为是不良行为!
请考虑使用 “弃权” 命令。
是否确实要删除此 Pod 版本?
>y
[!] 未找到具有指定名称的 pod。
在这里插入图片描述
5、判断方法 2
可以把它放到你的podfile 中,pod YLAppTool, 当然,你需要更新 pod repo update,可能会有延迟,当有如下提示:证明该库已不存在
[!] Unable to find a specification for `YLAppTool`
You have either:
* mistyped the name or version.
* not added the source repo that hosts the Podspec to your Podfile.
[!] 找不到 'YLAppTool' 的规范 `
你有:
* 输入了错误的名称或版本。
* 未将承载 Podspec 的源 repo 添加到您的 Podfile 中。
在这里插入图片描述
版本号未知怎么办? 可以把它放到你的项目 podfile 中,pod YLAppTool,这样就可以知道了!但是会有延迟,
最后,如果 pod search 还能搜索到!
此处是彻底删除仓库,不仅仅是删除某一个版本号
1、搞了半天发现。为什么 pod search还是可以搜索到,但是 pod 上已经说没有这个库了,不管是 pod install 还是 pod update 都找不到这个库了,
2、仓库删除掉了是肯定的,毋庸置疑,这是缓存的原因,是 cocoapods 缓存的原因
3、如果你要验证,把 library 里面的 chaches 中 cocoapods 和 .cocoapods 全部删除,卸载 cocoapods,重新安装,再去搜索就没了,(此处我已验证)上图
4、第三种验证方法是有一定问题的,我刚刚验证:你要先看是哪个仓库搜到的,如果是非 cocoapod 仓库,请先把该仓库删除 以及 caches search_index.json 删除,再重新搜索 因为私有仓库会对 cocoapods 仓库有影响
第一种情况:仓库已删除,并没有类似名称库
[!] Unable to find a pod with name, author, summary, or description matching `YLAppTool`
[!] 找不到名称、作者、摘要或描述与 'YLAppTool' 匹配的 pod`
在这里插入图片描述
第二种情况,仓库删除,但是有名称类似仓库
在这里插入图片描述3 最重要的一点,pod search 仓库会有影响
例如下面的:仓库属于 youlu-ylios 仓库(我们的私有仓库),并且他会影响到 cocopods 仓库的搜索
- Versions: 1.2.2, 1.2.0, 1.0.1, 1.0.0 [youlu-ylios repo]
pod search 搜索,当搜索到一个仓库中有之后,就不会再次出现同名其他仓库的内容,(此处待验证,有大佬知道的,请留言,非常感谢)