CocoaPods 1.10 beta 解锁新技能

Python实战社群

Java实战社群

长按识别下方二维码,按需求添加

扫码关注添加客服

进Python社群▲

扫码关注添加客服

进Java社群


作者 | Dimitris Koutsogiorgas
来源 | CocoaPods 官网

来源公众号丨知识小集(zsxjtip)

CocoaPods 1.10 放弃了对 Ruby 2.0 的支持,增加了对 Ruby 2.7 的支持,增加了对 Xcode 12 的初始支持以及经过改进的 XCFramework 集成过程!

已放弃 Ruby 2.0,增加对 2.7 的支持

在 1.10 版本中,CocoaPods 不再支持 Ruby 2.0,并将最低版本提高到 Ruby 2.3.3!Ruby 2.0 已经多年不维护了,并且 High Sierra macOS 的默认 Ruby 版本就是 2.3.3。

我们希望这次更新将解锁一些过去因版本低而被 CocoaPods 影响的技能,并修复一些漏洞。

最后,所有与 CocoaPods 相关的功能都以升级并与 Ruby 2.7 兼容,安装过程中的所有已知警告都已修复。

改进的 XCFramework 集成

在这个版本中,最大的更改就是删除了 Prepare Artifacts 脚本。与这个版本中重新设计的 dSYM 支持类似,嵌入 .framework 切片的逻辑现在已从应用程序移到了带有新脚本阶段 Copy XCFrameworks 的每个 pod target 中。dSYM 和位符号映射的处理也改变了。

这项工作有助于修复多个 bug,并支持其它功能,例如静态库支持和 faramework user target

Xcode 12 支持

CocoaPods 1.10 已添加了对 Xcode 12 的初始支持。Xcode 12 仍处于测试阶段,因此,预计将需要更多更新才能完全支持它。请在发布 1.10 之前提交任何 issues 供我们诊断和修复!

post_integrate Hook DSL

CocoaPods 会在其安装生命周期中提供各种 hook。这使用户可以自定义安装过程的多个时间点对其项目进行更改。在这个新版本中,我们添加了一个新的 post_integrate hook,这个 hook 在 CocoaPods 集成步骤完成后执行。

在 Podfile 中:

post_integrate do |installer|
    puts 'Perform post integration steps here!'
end

集成是安装过程的最后一步,它负责将生成的 Pods.xcodeproj 与用户的项目集成。这个 hook 将在完成后立即执行。

注意:这个 hook 在所有 .xcodeproj 保存(写入磁盘)之后执行。对 Pods.xcodeproj 进行更改将需要额外的 save 操作,但这可能会很慢。如果您预计在Pods.xcodeproj 保存到磁盘之前对其进行更改,则建议使用 post_install hook。

ensure_bundler! DSL

许多项目在与 CocoaPods 一起使用时都在后台使用Bundler。这是因为 Bundler 确保了一致的环境,这对于开发同一项目的团队很有用。

在 1.10 中,提供了一个新的 ensure_bundler! DSL,可以添加到 Podfile 中,以指定 Bundler 版本的版本要求。

这是一个例子:

ensure_bundler! '> 2.0'

下一步

CocoaPods 自成立以来已经走了很长一段路,我们希望重新审视一些有关资源支持(而不是资源包)的较早的实现,这些实现已成为处理多个应用程序的较大存储库的问题根源。

此外,我们仍在考虑增加对本地资源的支持,这将有助于 monorepos,并让 CocoaPods 自动发现本地 Pod。

感谢所有帮助实现此版本的贡献者!

程序员专栏 扫码关注填加客服 长按识别下方二维码进群

近期精彩内容推荐:  

 太牛了!35岁成阿里最年轻技术副总裁

 华中科技大学学霸201万顶薪签约华为

 写给小白看的线程和进程,高手勿入

 史上最全python字符串操作指南

在看点这里好文分享给更多人↓↓

©️2020 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页