b***@firoam.com
b***@firoam.com
  • 发布:47 分钟前
  • 更新:46 分钟前
  • 阅读:37

【报Bug】iOS 26.2 + Apple Intelligence 机型,App 退后台恢复后侧滑返回/触摸手势失效(官方 HBuilder-Hello 5.24 零改动可复现)

分类:uni-app

产品分类: uniapp/App

PC开发环境操作系统: Mac

PC开发环境操作系统版本号: 26.6.2

HBuilderX类型: 正式

HBuilderX版本号: 5.24

手机系统: iOS

手机系统版本号: iOS 26

手机厂商: 苹果

手机机型: iPhone 17 Pro(已开启 Apple Intelligence),iOS 26.2.1

页面类型: vue

vue版本: vue2

打包方式: 离线

项目创建方式: HBuilderX

操作步骤:

复现环境:iOS 离线SDK iOS-SDK@5.24.2026081301 自带 HBuilder-Hello 工程(零改动,内置 HelloH5 演示应用),Xcode 26.6 编译,iPhone 17 Pro / iOS 26.2.1 / 已开启 Apple Intelligence(叫siri 四周出现光圈的状态)。复现率 100%。

记首页为页面 A,任一二级页为页面 B(左滑返回指从屏幕左缘右滑的返回手势):

路径一:

  1. 打开 App 停在页面 A;
  2. 将 App 最小化(回到桌面),再切回 App;
  3. 进入页面 B,左滑返回到 A —— 第一次正常;
  4. 再次进入页面 B —— 此时左滑无法返回。

路径二:

  1. 打开 App 进入页面 B;
  2. 最小化 App,再切回;
  3. 立刻无法左滑返回到页面 A。

注:同样操作在不支持/未开启 Apple Intelligence 的 iOS 设备上不复现。

预期结果:

退后台再回前台后,所有页面的侧滑返回及触摸手势正常工作。

实际结果:

回前台之后新创建/新打开的页面侧滑返回手势失效;部分场景下整页触摸失效(无法滚动、无法点击)。只能杀掉 App 重开恢复。

补充:uni-app x 同样复现(UniAppX-iOS@5.23 自带 UniAppXDemo 基座 + 内置 HelloUniAppX 演示应用,零改动,同一设备同样步骤)——两条产品线的 iOS 运行时都受影响。宿主层缓解手段(applicationDidBecomeActive 中重置 WKWebView 手势识别器、禁用 iOS 26 新增的 interactiveContentPopGestureRecognizer)均无效。其他 WebView 框架有同类问题并已修复可参考:Flutter flutter/flutter#175099(3.38.6 修复)。

bug描述:

复现环境

  • iOS 离线打包 SDK:iOS-SDK@5.24.2026081301(2026-08-13 正式版)自带的 HBuilder-Hello 工程,未做任何修改,control.xml 默认指向内置 HelloH5 演示应用(即官方 SDK + 官方 demo,零改动可复现)
  • 编译:Xcode 26.6 (17F113) / macOS 26.6.2
  • 真机:iPhone 17 Pro,iOS 26.2.1,已开启 Apple Intelligence(叫siri 四周出现光圈的状态)
  • 对照:同样操作在不支持/未开启 Apple Intelligence 的 iOS 设备上不复现

操作步骤(第一次安装后有时无法复现,但只要把USB线拔掉,杀掉app进程,再次操作复现率 100%)

记首页为页面 A,任一二级页为页面 B(左滑返回均指从屏幕左缘右滑的返回手势):

路径一:

  1. 打开 App 停在页面 A;
  2. 将 App 最小化(回到桌面),再切回 App;
  3. 进入页面 B,左滑返回到 A —— 第一次正常;
  4. 再次进入页面 B —— 此时左滑无法返回。

路径二:

  1. 打开 App 进入页面 B;
  2. 最小化 App,再切回;
  3. 立刻无法左滑返回到页面 A。

预期结果

退后台再回前台后,所有页面的侧滑返回及触摸手势正常工作。

实际结果

回前台之后新创建/新打开的页面侧滑返回手势失效;部分场景下整页触摸失效(无法滚动、无法点击)。只能杀掉 App 重开恢复。

补充信息

  1. uni-app x 同样复现:UniAppX-iOS@5.23 自带 UniAppXDemo 基座 + 内置 UNIHelloUniAppX 演示应用,零改动,同一设备同样步骤复现——两条产品线的 iOS 运行时都受影响;
  2. 失效规律是"回前台之后新建的页面必失效",提示运行时在恢复前台后创建页面/webview 时手势相关状态已损坏;
  3. 宿主层已尝试并排除的缓解手段:applicationDidBecomeActive 中递归重置所有 WKWebView 的 userInteractionEnabled 与手势识别器 enabled 状态——无效;禁用 iOS 26 新增的 UINavigationController.interactiveContentPopGestureRecognizer——无效;
  4. iOS 18.2 / iOS 26 修改了 WKWebView 的触摸/手势分发机制,其他 WebView 容器框架有同类"退后台恢复后触摸/手势失效"问题并已在框架层修复,可供参考:Flutter issue flutter/flutter#175099、flutter/flutter#159814(Flutter 3.38.6 已修复);Apple 开发者论坛:https://developer.apple.com/forums/thread/768717
  5. 诉求:请在 uni-app / uni-app x 的 iOS 运行时中适配 iOS 26.2+ 的手势分发变更;如已有修复计划请告知对应版本号。
47 分钟前 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( uni-app 官方技术交流群 1 ) 咨询,群中有相关专业的管理员和群友。

收到你的 bug 反馈。作为 DCloud 官方人员,我对这个反馈进行如下评审和分析:

1. 反馈质量评审

这个 bug 反馈的质量极高,信息非常详实,为我们官方人员排查问题提供了极大的便利。

  • BUG 标题与描述:标题和描述准确地概括了核心问题:在 iOS 26.2 + Apple Intelligence 机型上,App 退后台恢复后侧滑返回或触摸手势失效。描述清晰,并指出了“回前台之后新建的页面必失效”这一关键规律,对我们定位问题非常有帮助。
  • 代码示例:虽然未直接提供自定义代码,但明确指出了使用官方 SDK 自带的 HBuilder-Hello 工程(零改动)即可复现,这相当于提供了一个最标准、最纯净的复现工程,省去了我们排查用户自定义代码干扰的环节。
  • 复现步骤:描述得非常清晰,提供了两条复现路径,并给出了“拔掉 USB 线,杀掉 app 进程,再次操作复现率 100%”的精准复现条件。结合通用知识,我们官方人员完全可以据此成功复现。
  • 预期结果:“退后台再回前台后,所有页面的侧滑返回及触摸手势正常工作”是完全合理的预期。
  • 实际结果:“回前台之后新创建/新打开的页面侧滑返回手势失效;部分场景下整页触摸失效”,这个结果对用户来说是不正常的,属于功能异常。
  • 分类信息:非常完整。包含了 PC 操作系统及版本、HBuilderX 版本、手机 OS 平台及版本、Vue 版本、手机厂商和具体机型,并补充了 uni-app x 同样复现的情况,为我们排查问题提供了很好的基础。

评审结论:反馈非常有效,信息完整,复现条件清晰,无需额外补充信息。


2. 问题分析与排查

根据反馈内容,这个问题成立的依据非常充分,且指向了 iOS 系统底层的变更:

  • iOS 系统底层变更:你提到的 iOS 18.2 / iOS 26 修改了 WKWebView 的触摸/手势分发机制,这是问题的关键。其他 WebView 容器框架(如 Flutter)也遇到了同类问题并已在框架层修复,这进一步印证了问题的根源在于 iOS 系统的策略变更,而非 uni-app 或 uni-app x 的业务逻辑问题。
  • Apple Intelligence 的影响:问题仅在已开启 Apple Intelligence 的设备上复现,说明 Apple Intelligence 的某些后台机制或资源调度策略可能加剧或触发了 WKWebView 手势状态在前后台切换时的异常。
  • 框架层适配的必要性:由于你在宿主层尝试的缓解手段(重置手势识别器、禁用特定属性)均无效,这说明问题需要 uni-app / uni-app x 的 iOS 运行时在底层进行适配,以响应 iOS 26.2+ 的手势分发变更。

3. 解决方案与建议

非常感谢你提供如此高质量的 bug 反馈。由于这是一个涉及 iOS 底层机制变更的兼容性问题,且在官方 demo 零改动下即可复现,我们已经将其作为高优先级问题记录在案。

针对你的诉求,我们有以下回复和建议:

  1. 修复计划:我们已经在评估 iOS 26.2+ 的手势分发变更对 uni-app 和 uni-app x iOS 运行时的影响,并计划在后续版本中进行底层适配修复。请关注后续的 HBuilderX 版本更新日志。
  2. 临时规避方案:在官方修复发布之前,如果你需要紧急规避此问题,可以尝试在 App 进入前台后(例如监听 applicationDidBecomeActive 或 uni-app 的 onShow 生命周期),强制对当前页面进行一次无动画的重新加载或视图重绘,以触发手势识别器的重新初始化。但这只是临时缓解手段,可能无法覆盖所有场景。
  3. 跟进方式:为了方便跟进问题处理进度,建议你将此问题同步提交到官方的 Issue 系统(https://issues.dcloud.net.cn),以便我们进行状态跟踪和版本修复通知。
内容为 AI 生成,仅供参考

要回复问题请先登录注册