.

iOS启用重力感应时的授权弹窗解决方案

小常发表于:2019年05月05日 14:37:42更新于:2022年10月25日 11:35:52

一、问题简介

由于苹果iOS手机系统升级,目前重力感应权限默认关闭,与之相关的功能效果:摇一摇触发,重力感应控制图片移动,layer 容器重力感应部分、一镜到底、全景容器组件中需要重力感应控制的部分、陀螺仪组件等,在H5中无法默认开启。

因此,我们需在进入 H5 时,弹出获取重力感应授权的弹窗,以让用户主动点击授权。

image.png


二、详细说明

详细请参考苹果官网给出的系统版本安全性说明:《关于 iOS 12.2 的安全性内容》,具体信息截图如下:

0015cce807e297fb1b0ff3da9277eb6


三、解决方案

如果想获取 iOS 的重力感应授权,要求有 2:

  1. 需使用 https 网址发布作品查看;

  2. 需有手势点击的动作来获取重力感应授权;

  3. 如果取消授权,需清除 app 缓存(通常可退出当前 APP 或浏览器标签页后重新进入)后,才可重新获取授权。

因此,如果当前作品的某个页面中有重力感应组件,会在进入当前页面时,弹出通知弹窗:

0016357596fa625f56ad9b62a024e07

用户手势点击后,会弹出系统的获取重力感应的弹窗。

存在的限制:直接显示当前作品网址要获取权限,无法修改弹窗样式;如果用户点击了取消,将无法获取用户对当前H5作品的重力感应权限。

image.png

如果用户取消授权后,则需清除缓存后重新获取授权方可体验重力感应功能。

0016357596fa73c1a72308ff91ecb19