如何重命名一个CocoaPod

7
我有一个已发布的Cocoapod,假设它的名称为abc-sdk,我希望将其名称(大写)更改为Abc-SDK。这可能吗? 我试过在podspec中更改s.name(以及podspec文件名的大写),但是当我运行pod trunk push时,我会得到以下提示: [!] The following validation failed: - Name is already taken. 请问正确的做法是什么?
3个回答

9

嗯,是的,这是可以通过对 Specs 仓库的 PR 进行更改的,但不建议这样做,因为这会破坏所有人的 Podfile。

另一种处理方式是直接创建一个新的 Podspec,并在旧的 Podspec 上使用 deprecated_in_favor_of 指向新的 Podspec。例如,使用 AbcSDK 代替 Abc-SDK


好的,我尝试了PR Specs repo技术,并手动将JSON文件中的pod名称大写...让我们看看他们是否会合并它。 不过这看起来有点令人担忧: https://github.com/CocoaPods/Specs/pull/12199 - mindbomb
1
顺便说一句,有看的人 - Wayne 的答案现在是最好的 :+1: - orta
在github.com/CocoaPods/Core中搜索“deprecated_in_favour_of”没有返回结果。然而,搜索“deprecated_in_favor_of”会显示实现和用法。注意拼写!此外,请参阅https://guides.cocoapods.org/syntax/podspec.html#deprecated_in_favor_of。 - Slipp D. Thompson

8

1
无法在CocoaPods 1.2.1中工作。会产生以下错误:[!]出现了意外错误:<!DOCTYPE html><html> … <h2>Hello there, looks like you're lost.</h2><h3>Technically its a 404, but we're not too fussed.</h3> … </html>。 我认为,当有损坏的功能时,CocoaPods团队应该更加关注. - Slipp D. Thompson
2
欢迎提交PR,目前只有志愿者在CP上工作。 - orta
1
这个可以运行。当你执行它时,它会在终端上显示一个完整的404网站,但是弃用操作已经正确完成。 - jcesarmobile

0

你尝试过fork他们的repo吗?(使用pod trunk之前的方式)。

需要注意的事项:

  • 一旦完成,我相信在某个时间窗口内缓存仍未清除。
  • 更改可能会对用户造成破坏,运行pod install --no-repo-update
  • 即使是经常更新规范库的用户,由于名称不匹配,更改也可能会对其造成破坏-正如您现在所知道的,cocoapods区分大小写。

这个方法(forking specs repo)还被支持吗? - mindbomb
还有,有没有一种方法可以取消发布一个 pod 并重新开始?(反正还没有用户) - mindbomb
1
抱歉没有及时回答,可以参考 @orta 的答案。 - Sash Zats

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接