发布 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 在主分支上更加稳定,并减少在我们的候选发布版本流程中发现的错误。
虽然我们发布 React Native 的每夜构建版已超过一年,但这些版本尚未被大多数项目有效使用。它们现在更容易访问,我们希望在未来将它们用作候选发布版本。每夜构建版以 “nightly” 标签发布到 npm。
为了改进测试各个提交的过程,React Native 的 CI 现在将为 main 和 release 分支上的每个提交以及每个 PR 创建一个 tarball 产物。我们称它们为 commitlies。这些 commitlies 不会发布到 npm,但可以直接从 CircleCI 下载。请参阅以下说明。
想要帮助合并 PR 吗?通过试用相关的 commitly 并验证更改,您将提供有价值的信号来帮助使更改落地!
使用每夜构建版(Nightlies)
将您的项目迁移到 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 位贡献者 完成!感谢所有新老贡献者!您可以在此处找到完整的更新日志。
此外,感谢以下贡献者对准备、测试和解除此版本阻塞的支持!