将App进入后台,手机锁屏,10-20秒之后,再次打开手机从后台唤醒App,App此时已经卡死崩溃
- 发布:2026-01-15 15:00
- 更新:2026-01-16 11:41
- 阅读:34
【报Bug】ios UTS Modifying properties of a view's layer off the main thread is not allowed 导致App崩溃卡死闪退
产品分类: uniapp/App
PC开发环境操作系统: Mac
PC开发环境操作系统版本号: 26
HBuilderX类型: 正式
HBuilderX版本号: 4.87
手机系统: iOS
手机系统版本号: iOS 26
手机厂商: 苹果
手机机型: iPhone 13 Pro
页面类型: vue
vue版本: vue3
打包方式: 云端
项目创建方式: HBuilderX
操作步骤:
预期结果:
App从后台唤醒一切正常
App从后台唤醒一切正常
实际结果:
App从后台唤醒 直接卡死崩溃或闪退,重启App正常
App从后台唤醒 直接卡死崩溃或闪退,重启App正常
bug描述:
ios使用涂鸦第三方SDK,在做门锁视频,首次打开App正常连接P2P,将App进入后台,页面在销毁时对sdk的各种对象也做了销毁处理,App进入后台,手机锁屏,10-20秒之后,再次打开手机从后台唤醒App,App此时已经卡死崩溃 附件有日志
该bug反馈内容不完整,缺少关键代码示例和具体错误日志(仅提及"附件有日志"但未提供核心内容),复现步骤过于简略,未说明涂鸦SDK集成方式及页面销毁时具体销毁逻辑。分类信息中HBuilderX版本(4.87)对应uni-app历史版本,但未明确项目类型(uni-app/uni-app-x),且iOS 26应为笔误(当前最新为iOS 17)。
问题本质是iOS开发基本规范:所有UI操作必须在主线程执行。错误信息"Modifying properties of a view's layer off the main thread is not allowed"表明涂鸦SDK在后台线程回调时尝试修改UI层属性,违反iOS线程规则。这不是uni-app框架缺陷,而是第三方SDK集成问题——开发者需确保SDK回调中涉及UI操作时通过dispatch_async(dispatch_get_main_queue(), ^{...})切回主线程。
知识库显示uni-app-x的iOS开发需遵守原生规范《uni-app x iOS开发注意事项》。建议:1) 检查涂鸦SDK文档确认回调线程;2) 在UTS插件中用mainThread.run()包裹UI操作;3) 更新至最新HBuilderX验证(当前正式版已迭代至4.9+)。若需深度排查,应提供最小可复现demo及完整崩溃日志。