iOS Split View模式下Vuforia相机暂停问题咨询
iOS Split View模式下Vuforia相机暂停问题咨询
你好,针对你遇到的这个问题,我之前在调试类似的Unity+Vuforia AR项目时也踩过相关的坑,结合实际经验和Vuforia的特性给你梳理下:
先明确核心原因:Vuforia 10.x 系列(包括你用的10.8.9)和Unity 2020.3.x的组合下,对iOS Split View分屏模式的支持确实存在局限性。当应用进入Split View时,iOS会将应用标记为“非活跃状态”,Vuforia默认的相机管理逻辑会因为这个状态变化自动暂停相机采集,这是最常见的触发原因。
你可以尝试以下几个调整方案,看看能否解决问题:
- 修改Vuforia的自动暂停设置:
打开Unity中的Vuforia Configuration面板,找到「Background Camera」板块下的Auto Pause on Application Pause选项——这个选项默认是开启的,只要应用进入非活跃状态(包括Split View),Vuforia就会自动暂停相机。你可以尝试关闭这个选项,然后通过自定义脚本手动管理相机的暂停与恢复。 - 确认iOS项目的配置正确性:
导出Xcode项目后,检查Info.plist文件中的两个关键配置:- 确保
UIRequiresFullScreen设置为NO(这是Split View能正常启用的前提,不过你已经能进入分屏,大概率已经设置,但可以再确认); - 确认
UISupportedInterfaceOrientations包含了所有你需要的屏幕方向,避免分屏时的方向切换触发相机的异常暂停。
- 确保
- 编写自定义脚本手动控制相机状态:
在Unity中创建一个脚本,监听OnApplicationPause事件,当检测到应用从非活跃状态恢复(也就是Split View下重新激活应用窗口时),手动调用Vuforia的相机恢复接口:
注意要把这个脚本挂载到带有void OnApplicationPause(bool pauseStatus) { if (!pauseStatus) { // 恢复Vuforia和相机 if (VuforiaBehaviour.Instance != null) { VuforiaBehaviour.Instance.enabled = true; CameraDevice.Instance.Start(); } } }VuforiaBehaviour的GameObject上,并且处理好空引用的情况。
- 修改Vuforia的自动暂停设置:
如果以上方案都没有效果,那大概率是Vuforia 10.8.9版本本身的兼容性问题——Vuforia在后续的11.x版本中对iOS多窗口模式的支持做了优化,你可以考虑升级到Vuforia 11.x的稳定版本(比如11.5.4),这个版本和Unity 2020.3.x系列是兼容的,升级后Split View下的相机稳定性会有明显提升。
内容来源于stack exchange
相关产品推荐
相关产品推荐

