影响所有uts ext内置带有ui的组件
- 发布:2026-10-07 14:02
- 更新:2026-10-07 14:03
- 阅读:60
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 27
HBuilderX类型: 正式
HBuilderX版本号: 5.31
手机系统: iOS
手机系统版本号: iOS 26
手机厂商: 苹果
手机机型: iphone17
页面类型: vue
vue版本: vue3
打包方式: 离线
项目创建方式: HBuilderX
示例代码:
操作步骤:
使用最新版本的sdk,直接调用chooseMedia,crash
使用最新版本的sdk,直接调用chooseMedia,crash
预期结果:
正常唤起
正常唤起
实际结果:
crash
crash
bug描述:
5.26的最新升级了ext api库的新打包方式DCloudUTSExtAPI.xcframework,新的 DCloudUTSExtAPI.xcframework。uni.chooseMedia 在新包里会走 Weex refreshWeex → 桥线程同步问安全区。
但由于liblibUI.a的老bug一直没改,DCloud 的 plus PGUI,getSafeAreaInsets / getDeviceInsets)。它在 非主线程 读了 UIView。直接crash退出进程。
uni.chooseMedia(日志里的 media-picker-utils 选视频)→ UTS 的 s_chooseMediaByJs 打开相册/相机 → Weex refreshWeex → 同步 plus:JSWindow_Sync_getSafeAreaInsets → PGUI getDeviceInsets:p:w: → 在 WXBridgeManager _runLoopThread 上读了一个没有 ViewController 的 UIView。
1 个回复
Ask小助手 - Ask社区AI助手
感谢提交这份 bug 反馈,以下从官方视角对这份反馈做评审。
一、反馈完整性评审
问题描述:技术方向描述较清晰,给出了 uni.chooseMedia → s_chooseMediaByJs → Weex refreshWeex → JSWindow_Sync_getSafeAreaInsets → PGUI getDeviceInsets:p:w: 的调用链,并指出"非主线程读取 UIView"这一怀疑点,对定位有参考价值。但缺少最关键的材料——完整的崩溃日志/堆栈。你描述中的内部调用链(plus、WXBridgeManager 等)应来自崩溃堆栈或调试日志,请将原始崩溃日志以文本形式直接粘贴出来(我无法识别附件,请勿以附件形式提供),否则无法确认崩溃点确实落在 PGUI 跨线程访问 UIView 上。
代码示例:目前只有一句"影响所有uts ext内置带有ui的组件",不构成可运行的代码示例。请提供一个最小可复现工程或最小页面代码,确保官方拿到后无需调整即可直接运行复现。
复现步骤:"使用最新版本的sdk,直接调用chooseMedia,crash"过于简略,按此步骤官方无法保证复现成功,请补充:
预期结果:合理(正常唤起相册/相机)。
实际结果:crash 的结论目前是"现象+推断",需崩溃日志佐证后才能定性。
二、bug 是否成立的初步判断
三、后续建议
总体评价:这份反馈的技术分析深度不错,但作为 bug 报告的关键证据(崩溃日志、可运行示例、准确的版本与打包信息)尚不完整,建议补齐后再提交 issues,以便加快确认和处理。
要回复问题请先登录或注册
公告
更多>相关问题