Hacker News 中文摘要

RSS订阅

CocoaPods 已弃用 -- CocoaPods Is Deprecated

文章摘要

CocoaPods计划在未来两年内将其主干(trunk)转为只读模式,届时将不再接受新版本或新Pod的提交。这一转变旨在简化安全性,现有构建不会受到影响,但用户将无法通过主干获取依赖更新。私有spec仓库或已本地化的依赖不受影响。

文章总结

CocoaPods.org 计划将 trunk 转为只读模式

主要内容:
CocoaPods.org 计划在未来两年内将其主要的 Specs Repo "trunk" 转为只读模式。这意味着从2026年12月2日起,trunk 将不再接受新的 Podspec 提交,现有的构建不会受到影响,但用户将无法通过 trunk 获取依赖项的更新。这一决定旨在简化 CocoaPods 的安全性管理,同时确保现有的基础设施(如 GitHub 和 jsDelivr)继续正常运行。

关键时间节点:
- 2025年5月:禁止新提交的 CocoaPods 使用 prepare_command 字段。
- 2025年中后期:向所有贡献过 Podspec 的开发者发送邮件,通知即将转为只读模式。
- 2026年9月至10月:再次发送邮件提醒,告知开发者大约一个月后将进行只读模式的测试。
- 2026年11月1日至7日:进行只读模式的测试运行。
- 2026年12月2日:正式将 trunk 转为只读模式,永久停止接受新的 Podspec 提交。

背景与原因:
由于部分安全研究人员滥用 CocoaPods 的脚本功能,团队决定限制 prepare_command 字段的使用,并逐步将 trunk 转为只读模式。这一措施不会影响使用自有 Specs Repo 或通过其他方式(如 npm)管理依赖的用户。

联系方式:
如有疑问,可通过 info@cocoapods.org 联系团队,或直接联系作者 cocoapods@orta.io

评论总结

评论内容主要围绕CocoaPods的停用及其替代品Swift Package Manager展开,观点分为支持和批评两派。

支持CocoaPods的观点: 1. 历史贡献与感谢:多位评论者表达了对CocoaPods及其维护者的感谢,认为它是Apple平台依赖管理的标准工具,具有重要历史意义。 - "Such a big piece of history and a de facto standard for managing dependencies for Apple platforms for years." (评论1) - "Sad, truly an end of an era. Big thanks to all maintainers!" (评论10)

  1. 合理退出:评论者赞赏CocoaPods团队在生态系统变化时选择停用,为迁移到更优解决方案留出空间。
    • "And respect that you recognise moment when ecosystem changed and have courage to deprecate library instead of maintaining it forever." (评论1)

批评Swift Package Manager的观点: 1. 功能不足与bug:有评论者指出Swift Package Manager缺乏一些实用功能,且存在较多bug,尤其是在Xcode中表现不佳。 - "Swift Package Manager is really crap: it lacks some useful features, is buggy as hell in xcode." (评论5) - "Most of the time xcode just crashes when you add/removed a dependency." (评论5)

  1. 存储与下载问题:评论者批评Swift Package Manager在CI过程中会下载完整的依赖库及其历史记录,导致数据量过大。
    • "It stores the full repositories of all the dependencies with their full history on your machine and downloads them every time when you do CI properly." (评论5)

其他观点: 1. React Native的依赖:有评论者提到React Native对CocoaPods的依赖,并认为这种依赖需要停止。 - "Doesn't React Native depend on this very heavily for iOS?" (评论6) - "Good news, react native and flutter piggyback on external deps need to stop." (评论9)

  1. 第三方工具的局限性:有评论者认为Apple的工具和框架限制了第三方工具的发展,CocoaPods也不例外。
    • "Apple has always made it painful to step too far off the path with their tooling and frameworks and cocoapods was not immune to that pain." (评论7)

总结:CocoaPods的停用引发了对其历史贡献的感谢和对Swift Package Manager的批评。支持者赞赏其合理退出,而批评者则对Swift Package Manager的功能和稳定性表示不满。此外,React Native对CocoaPods的依赖也引发了讨论。