2016 年 5 月 11 日
关注 @orta经过大约 一年的努力,随着 CocoaPods 1.0 的发布,相应的 Mac App 也已准备好供公众使用。
这并不是什么重大的揭秘,我们已经在网站上宣传其存在一段时间了。我已经对 Mac App 背后的技术做了一些介绍,所以这篇文章会让你对你的团队说“我们应该使用这个,而不是 gem”。
所以让我戴上 我最棒的帽子,并尝试说服你使用 CocoaPods Mac App 是一个好主意。
这解决了什么问题?
CocoaPods 存在于 ruby 生态系统中。大多数 Cocoa 开发者与编写 ruby 程序并没有太多重叠。安装和维护 CocoaPods 等命令行工具的多个版本是人们为了有效使用 CocoaPods 而必须学习的内容。
这造成的一个问题是 Bundler 很好地解决了,但现在你开始真正深入了解 ruby 生态系统,对贡献的先决条件知识又再次提高了。在我发表我的看法时,如果你在应用程序中使用 CocoaPods 和 Fastlane gem,你可能应该使用 Bundler。
因此,CocoaPods 应用程序托管所有内容。从字面上看,它拥有自己的独立副本,包括 bzr
、curl
、git
、mercurial
、ncurses
、openssl
、pkg-config
、ruby
、scons
、serf
、subversion
、yaml
和 zlib
。这使 CocoaPods 团队能够确保所有用户设置中行为一致。
对于 Cocoa 开发者来说,这个概念并不新鲜,因为 Xcode 自从移至 Mac App Store 以来,就一直在其 .app
中嵌入其自己的依赖项。从用户的角度来看,其优势在于它有效,并且你可以安装你自己的疯狂版本 git
、curl
或 ruby
,它就能正常工作。
它有什么优点?
很高兴你问,因为它有两大优点
- 运行
pod install
或pod update
- 编辑 Podfile
这基本上是从第一天开始该应用程序的规范。一旦 @alloy 证明了 pod install/update
正在运行,@nate_west 和我接手并开始研究后者。
Podfile 编辑
其中一些功能很普通,“嘿,哇,语法高亮</sarcasm>” 但其他一些功能是您期望从 IDE 获得的真正引人入胜的深度特定于上下文的集成。
我们从语法高亮开始,然后添加了自动完成结果的有用示例,展示了如何使用 Podfile DSL。
该应用程序将自动完成您的 pod,包括私有 pod。当您不期望它时,这感觉就像魔法。我们一直在讨论如何将更多内部 CocoaPods 知识引入 自动完成 - 欢迎您提供帮助。
该应用程序将生成您的集成在未安装的情况下将是什么样子的概述,因此您可以在 CocoaPods 完成之前了解它将做什么。
该应用程序提供了一个用于更新您的规范存储库的 UI,您可以在我们的 主规范存储库速率限制事后分析 中了解更多有关为何需要此功能的信息。
它还有能力启动一个新的 CocoaPods 项目,甚至可以完全从项目中删除 CocoaPods。不过,我不想透露该应用程序的所有秘密,所以您应该对其进行试运行。
谢谢
如果没有对 参与人员 的感谢,这将不是一个公告,这是一个引人入胜的项目,因为涉及 有趣的技术层,但构建此应用程序最酷的事情之一是,它为 Cocoa 开发人员提供了一个项目,让他们可以在不学习新语言的情况下做出贡献。因此,我们已经收到了很多针对该应用程序的 PR,并且与更多的人一起工作总是令人高兴的。
我特别想点名 Nate West,他一直在 2016 年与我合作开发该应用程序。他对这个项目的贡献是重大的,通过这个项目,他对我们更多的核心项目做出了贡献。
我们有 很多想法 关于这款应用的去向,以及一些 唾手可得的成果 供贡献者使用。 何不帮助我们把它带到一个新的地方?