发布 React Native 0.66
今天我们发布了 React Native v0.66,它支持 Android 12 和 iOS 15,并包含修复和常规更新。
亮点
- 处理 Android 上父边界外部视图的点击
- Android 上新的蓝牙权限
- 更好地支持 Apple Silicon、Xcode 13 和 iOS 15
- Hermes 0.9.0
- 每晚构建版和“Commitly”构建版
处理 Android 上父边界外部子视图的点击
感谢 @hsource 添加了对通过 overflow: visible
在父视图边界外部渲染的子元素的交互支持。这是一个常见的用例,使 Android 上的 React Native 更接近 Web 标准。
在拉取请求中查找更多详细信息。
Android 上新的蓝牙权限
我们添加了对新的蓝牙权限的支持,为 Android 12 做好准备,我们计划在下一个版本中将 targetSDKVersion
更新到 31。
更好地支持 Apple Silicon、Xcode 13 和 iOS 15
此版本提供了一些解决方案,使在 Apple Silicon (M1) Mac 机器上为 iOS 进行 Xcode 构建更加可靠。
值得注意的是,新的应用模板现在包含 CocoaPods 变通方法(感谢 @mikehardy!)。要应用,请确保您的应用的 Podfile 在 post_install
步骤中添加了 __apply_Xcode_12_5_M1_post_install_workaround(installer)
。
此外,RCT-Folly.podspec
已更新以防止 arm64 链接器故障。
查看我们分享的关于为 iOS 15 和 Android 12 准备应用的文章。
Hermes 0.9.0
Hermes 0.9.0 主要关于缩小 Hermes 发布切入点和此 React Native 版本之间的差距。
在约 400 个提交中,除了内存和大小方面的改进外,还进行了一般的错误修复。
有关更多详细信息,请参阅 Hermes 0.9.0 发布问题
每晚构建版和“Commitly”构建版
在最近的博客文章中,我们分享了 2021 年下半年我们的目标之一是改进发布流程,使其更快更稳定。作为这项工作的一部分,我们正在努力使 React Native 在 main 分支上更加稳定,并减少在我们的发布候选流程中发现的错误。
虽然我们发布 React Native 的每晚构建版已有一年多,但这些版本尚未被大多数项目有效使用。它们现在更容易访问,我们希望将它们用作未来的发布候选版本。每晚构建版以 “nightly” 标签发布到 npm。
为了改进测试各个提交的过程,React Native 的 CI 现在将为 main 和发布分支以及每个 PR 上的每个提交创建一个 tarball 构件。我们将其称为 commitly 构建版。这些 commitly 构建版不会发布到 npm,但可以直接从 CircleCI 下载。请参阅以下说明。
想帮助合并 PR 吗?通过试用相关的 commitly 构建版并验证更改,您将提供有价值的信号来帮助使更改落地!
使用每晚构建版(Nightly 构建版)
将您的项目迁移到 React Native 每晚构建版的过程与升级到常规版本的过程非常相似,但像 Upgrade Helper 这样的工具目前不适用于每晚构建版。考虑到这一点,我们建议您首先将您的项目升级到最新的稳定版本(如果您尚未这样做)。然后,运行 yarn upgrade react-native@nightly
以安装最新的每晚构建版。请注意,您的项目可能需要进行其他更改才能在每晚构建版上正常工作。
使用 Commitly 构建版(Commitlies 构建版)

找到与提交相关的 “build_npm_package-1” 作业,然后转到 “Artifacts” 面板下载 commitly 构建版的 tarball。
与每晚构建版一样,首先确保您的项目已升级到最新的稳定版本。然后,转到 Circle CI 上的 react-native
仪表板,并查找由相关提交触发的工作流程。在那里,您应该看到一个名为 build_npm_package
的作业。该作业将有一个 “Artifacts” 面板,该面板将提供一个链接,您可以使用该链接下载 tarball 文件。然后,您可以运行以下命令
# Update your react-native dependency to the tarball
# using your preferred package manager
$ yarn add <path to tarball>
$ npm add <path to tarball>
致谢
此版本包含 621 次提交,92 位贡献者!感谢所有新老贡献者!您可以在此处找到完整的更新日志。
此外,感谢以下贡献者对准备、测试和解除此版本阻塞的支持!