在访问iOS上的onDeviceMotion事件时遇到问题。它适用于Android。
我正在遵循一个教程,并且代码在我的iOS设备上运行正常,但是当我复制/粘贴完全相同的代码并从我的ios设备上的本地主机运行它时,不会触发onDeviceMotion事件。 相同的代码在我的Chrome和Firefox上的Android设备上运行得很好。因此,我认为这不是Apple的限制,而不是代码问题。
我在iOS 12上,并且在Safari上启用了运动传感器。
对于iOS上的运动事件,我应该注意哪些限制?例如必要的https或CORS?我的服务器是用Node.JS编写的。
下面是我正在谈论的代码。
sports/tennis/courts/A/foo
谢谢!
答案 0 :(得分:0)
问题是Safari会限制某些事件(尤其是运动事件)通过HTTP在不安全的网站上运行。您必须设置并启用HTTPS,然后事件才会被触发。
Node.JS
const privateKey = fs.readFileSync( 'keys/server.key' );
const certificate = fs.readFileSync( 'keys/server.crt' );
https.createServer({
key: privateKey,
cert: certificate
}, app).listen(8080);