从ios12.2(具体版本可能有些许出入)开始,ios限制http地址的陀螺仪事件,必须https才可以,我们的站点必须是https才能正常生效,于是乎一大堆程序员吭哧吭哧的填好了坑。

当然虽然我们每天如履薄冰,战战兢兢,并不能改变线上某功能突然bug的现象。

于是乎突然有一天用户反馈,iphone xr的微信作品摇一摇不生效,在确认https无误后,便开始痛苦的联机调试,发现监听事件devicemotion未生效,从而查阅资料显示最新版系统陀螺仪功能增加了限制,必须用户手动授权才能正常,拉起授权的事件为

DeviceMotionEvent.requestPermission()

.then( response => {

if ( response == "granted" ) {

// 同意

} else {

// 拒绝

}

}).catch(() => {

// 一般为非用户主动授权

})

这里有几点需要注意:

整个app生命周期授权仅会被拉起一次,之后再次调用也不回拉起,会沿用之前的授权结果,可通过关闭微信来重新发起授权。

如果为第一次授权,必须通过用户交互后方可拉起授权。

因此根据上述情况,我们的流程图大概如下:

function iosCheck() {

return new Promise((resolve, reject) => {

if (typeof( DeviceMotionEvent ) !== "undefined" && typeof( DeviceMotionEvent.requestPermission ) === "function") {

getPermission().then(() => {

resolve();

}).catch((e) => {

// 用户拒绝

if (e.type === 1) {

// 用户上次状态为拒绝,提示弹窗

} else if (e.type === 2) { // 用户首次进入,获取权限失败,需手动开启,弹窗引导

// bind event

$(modal).on('touchstart', () => {

getPermission().then(() => {

resolve();

}).catch(() => {

// 用户拒绝授权,提示

});

})

}

});

} else {

resolve();

}

})

}

function getPermission() {

return new Promise((resolve, reject) => {

DeviceMotionEvent.requestPermission()

.then( response => {

if ( response == "granted" ) {

resolve();

} else {

reject({type: 1});

}

}).catch(() => {

reject({type: 2});

})

})

}

iosCheck().then(() => {

window.addEventListener('devicemotion', deviceMotionHandler, false);

})

当然如果更谨慎一些的话,我们可以在iosCheck方法中增加当前版本的限制。

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[iphone微信摇一摇失效问题解决]http://www.zyiz.net/tech/detail-127210.html

最新版苹果手机html5摇一摇,iphone微信摇一摇失效问题解决相关推荐

  1. html语音对话,HTML5 语音聊天 IM|仿微信语音界面|摇一摇效果

    介绍 之前由于项目需求有开发过一款简单的聊天项目,不过功能及UI比较简单,最近又重新在原先的基础上进行了一次大的重构,开发了这款仿微信界面聊天IM系统--趣聊weChatIM. 技术点 运用h5+cs ...

  2. 苹果手机html5摇一摇游戏戏码,利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion...

    利用HTML5的devicemotion事件实现手机摇一摇抽奖,年会抽奖,html5devicemotion 摇一摇JS脚本逻辑: 接下来是移动端JS脚本逻辑的实现,摇一摇的实现需借助html5新增的 ...

  3. 利用html5实现类似微信的手机摇一摇功能

    利用html5实现类似微信的手机摇一摇功能,并播放音乐. 1.  deviceOrientation:封装了方向传感器数据的事件,可以获取手机静止状态下的方向数据,例如手机所处角度.方位.朝向等. 2 ...

  4. iphone4s解锁_苹果手机忘记密码怎么办?iPhone忘记密码解锁恢复方法

    最近有粉丝朋友在"电脑百事网"的公众后台留言,iPhone4s忘记密码怎么解锁?由于很久没用了,之前设置的密码完全忘记了,现在不知道咋整了.苹果手机忘记密码怎么办?如何解决呢?目前 ...

  5. php微信摇一摇开发文档,微信摇一摇页面管理

    接口说明 查询已有的页面,包括在摇一摇页面出现的主标题.副标题.图片和点击进去的超链接.提供两种查询方式,可指定页面ID查询,也可批量拉取页面列表. 接口调用请求说明 http请求方式: POST(请 ...

  6. 多开分身苹果版_苹果手机如何同时登陆两个微信 iPhone微信多开教程

    苹果手机如何同时登陆两个微信 iPhone微信多开教程 公共浩 , 运营推广指南 部分有特殊需求的网友们,在工作和生活当中可能需要用到两个以上的 微信 ,那么我们的 iPhone 如何在没有越狱的情况 ...

  7. java 微信 摇一摇红包_微信小程序“摇一摇”的实例代码

    微信小程序并没有提供摇一摇API接口,但是提供了一个重力感应的API 「wx.onAccelerometerChange(CALLBACK)」,我们可以用这个方法来模拟微信摇一摇功能,代码如下: Pa ...

  8. 微信摇一摇怎么连接服务器,微信摇一摇电视有什么用 摇一摇电视互动玩法及原理...

    微信摇一摇功能确实是越来越丰富了,摇朋友,搜歌,摇红包,在近日的版本中还加入了摇一摇电视功能,微信摇一摇电视有什么用?下面小编就为大家介绍摇一摇电视互动玩法及原理. 微信摇一摇电视有什么用 摇一摇电视 ...

  9. 微信小程序“摇一摇”实现

    原文链接:http://www.webexp.cn/wxapp-paikeng.html 微信小程序并没有提供摇一摇API接口,但是提供了一个重力感应的API 「wx.onAccelerometerC ...

  10. 微信小程序摇一摇功能实现

    有过一次摇一摇的经验,本来记得小程序后台里面明明有一个 摇一摇的组件,当自己真的准备开发的时候,竟然没有了. 所以微信摇一摇 只能网上各种找资源拼凑起来.但是每个都不太符合自己的使用.所以通过网上的线 ...

最新文章

  1. 自动驾驶中的3D物体状态检测
  2. python 笔记 pickle json
  3. HDU3966(树链剖分)
  4. Robot framework 引入 Selenium2Library 类库:
  5. 用python写个程序送给女朋友_如和用python给女朋友做个专属她的软件
  6. java 计时器_Java多线程并发容器之并发倒计时器
  7. 机器学习-吴恩达-笔记-13-大规模机器学习
  8. MySQL中授权(grant)和撤销授权(revoke)
  9. Brinson归因模型
  10. 测试篇之一 sd卡独写速度测试
  11. opencv调用海康威视摄像头
  12. YOLOv5图像识别显示中文标签
  13. slitaz linux 包管理器,SliTaz
  14. 大数据技术之Hive 第6章 查询 基本查询
  15. 输入年份判断是否为闰年
  16. windows操作系统基础总结
  17. BNNVGG2-VGG Net
  18. 用python验证猜想之类的例子_python验证卡普耶卡(D.R.Kaprekar)6174猜想
  19. carsim与simulink联合仿真-ABS(制动防抱死系统) 入门——详细步骤
  20. NDIS网络驱动程序-----

热门文章

  1. Building your Deep Neural Network - Step by Step v5 作业 - Neural Networks and Deep Learning
  2. 性价比超高的51单片机学习板与开发板
  3. 前端工程师的价值体现在哪里?
  4. kindeditor 加载 html,为kindeditor编辑器添加“引用”(blockquote)标签
  5. 基于微信小程序的家教信息管理系统毕业设计源码
  6. php 启用ereg,PHP 5.3的ereg / eregi替换
  7. BI 工具常用图表用法
  8. 计算机共享打印怎么设置密码,共享打印机需要密码的解决方法
  9. [已解决]360极速浏览器.为什么后台一直占用20%的cpu?
  10. [《岛鼠》闲笔记事集]2012年8月28日