前段时间在使用ARKit开发过程中,发现在一台iPhone6s可以正常运行,在另外一台iPhone6sp无响应,由于6sp已经是损坏的设备(压弯了),所以怀疑是硬件问题,这两天拿iPhone8出现同样的问题。
检查了下代码逻辑,ARWorldTrackingConfiguration.isSupported检测是否支持AR也是正常,ARSession也没有出现error,通过代码逻辑无法判断出异常。
查看Xcode的console输出log,发现[DeviceMotion] Event ref invalid 这个异常log,Google 发现有人报同样问题,不过报的人不多,可能出现概率不高,也没有找到解决方案
比较了下正常使用的6s和8的系统版本,发现8的是iOS 11.0 ,6s是iOS 11.0.1,查看11.0.1
的更新日志,没有提到相关修复bug。不过没有解决方案,尝试升级将8升级到最新版本,升级后还是会有上面的log,但是AR正常使用了。目前最新的升级版本为11.0.3,说明升级版本苹果有修复这个bug。
虽然通过升级版本可以正常使用AR,但是开发过程中,如果用户设备是iOS 11.0
,还是有可能会出现这个问题,目前代码中暂时没找到处理这个问题的方式,能考虑到的是自定义超时无响应处理。
网友评论