自iOS 11. 以来,我使用devicemotion事件访问Safari上的陀螺仪。
历史:
问题:
在iOS 13.4中,没有任何代码更改,在我使用此功能的所有项目中,即使用户同意陀螺仪访问,rotationRate也始终是空的。
我从苹果那里寻找了一个官方的答案,但什么都没有。它看起来像一个bug,但也许我的实现是错误的?
很高兴知道我的密码:
首先,我监听devicemotion事件(带有rotationRate null),当界面准备就绪时,用户单击按钮,询问陀螺仪访问,rotationRate有值。
有什么想法吗?
发布于 2020-04-26 22:51:13
这似乎是iOS 13.4中的一个bug,因为即使是webxr填充也无法检测到哪些功能具有设备,因为它们具有这些功能(第3770行):
if (this.isWithoutDeviceMotion) {
window.addEventListener('deviceorientation', this.onDeviceOrientationCallback_);
} else {
window.addEventListener('devicemotion', this.onDeviceMotionCallback_);
}条件计算为false,因此使用devicemotion,然后rotationRate和accelerationIncludingGravity都为null。
因此,我认为现在的解决办法是倾听面向设备的事件,而不是设备情感,即使提前被请求了权限,这也是强制性的。
发布于 2020-07-19 10:25:03
是的,这里也是,旋转数据是空的。但是加速和accelerationIncludingGravity不是null,您可以使用这些。
https://stackoverflow.com/questions/61339598
复制相似问题