从 Capacitor 7 升级到 Capacitor 8
在本指南中,你将找到将项目更新到当前 Capacitor 8 版本的步骤,以及我们官方插件的破坏性变更列表。
Capacitor 配置文件中的破坏性变更
iOS 上的 appendUserAgent 曾存在一个错误,即在追加用户代理前会添加两个空格,该问题现已修复。如果你想防止用户代理发生变化,请在 ios.appendUserAgent 中添加一个额外的空格。不要在根级别的 appendUserAgent 中进行此操作,因为这也会在 Android 上添加空格。
android.adjustMarginsForEdgeToEdge 已被移除,取而代之的是我们新的核心插件 System Bars,它将处理现代 Android 中的边缘到边缘问题。
简而言之,边距处理已被移除,转为使用 env / CSS 变量来处理边缘到边缘。有关如何在你的应用程序中实施的更多信息和细节,请阅读此处。
@capacitor/cli 中的破坏性变更
Capacitor CLI 现在默认创建 iOS SPM 项目。
虽然这不影响现有应用,但如果你删除了 ios 文件夹并再次运行 npx cap add ios,它将使用 SPM 模板创建。如果你想使用 CocoaPods 模板,请改为运行 npx cap add ios --packagemanager CocoaPods。
@capacitor/android 中的破坏性变更
bridge_layout_main.xml 文件已被移除。如果你在应用代码或插件代码中引用了它,请改用 capacitor_bridge_layout_main.xml。
@capacitor/ios 中的破坏性变更
Capacitor 现在会为 viewDidAppear 和 viewWillTransition 发出 CAPBridgeViewController 的通知。如果你正在使用 CAPBridgeViewController 扩展来发出这些事件,应该移除它们。