苹果总是觉得他觉得更比用户的想法更重要,因为他觉得他们比用户更了解苹果的产品,真是奇葩的脑回路。
苹果开发最大的问题就是不确定性。微软的产品都有文档详细说明每个接口是做什么的。而苹果,你调用了A,然后他觉得你也需要BCD,一股脑地就给你执行了
1、iPhone H5页面全屏播放视频,在设备旋转锁打开以后,不会按照视频长宽比自动调整纵横播放。在安卓手机上,如果全屏播放的视频是宽屏的,就会自动旋转90度播放,撑满整个屏幕。但iPhone认为用户锁定旋转以后,就是不想翻转手机了。岂不知我们锁定设备旋转不就是为了能够在翻转手机时不会乱跳吗?
上下留这么大黑边的全屏叫全屏吗
2、H5页面,苹果认为VIDEO不可见时可能把画面解码给停了。用CANVAS做H5 VIDEO播放器时,仅仅是切换到全屏CANVAS渲染,画面就卡住不动了,声音还是流畅播放的。问题原因是苹果认为VIDEO被覆盖(不是隐藏,是被遮挡,实际上隐藏是没有问题的,我看过文章说隐藏不行,要设置为1像素大小,结果全屏层覆盖了这1像素VIDEO,苹果直接死给你看),不需要画面显示服务了,在CANVAS里看到的就是卡住的一帧。
3、苹果iOS13获取运动设备授权失败
正常情况下我们要使用运动数据,需要先取得授权
if (DeviceMotionEvent && questPermission) {questPermission().then((permissionState) => {if (permissionState === 'granted') {window.addEventListener('devicemotion', () => { });}}).catch((error) => {alert(error)})}
但是iOS13会报以下错误
NotAllowedError: Requesting device orientation or motion access
requires a user gesture to prompt
导致获取权限以前先弹出一个对话框让用户确认,通过用户实际的手势操作以后才能调用requestPermission获取权限
document.body.appendChild(E),new Promise((function(A,I){g.addEventListener("click",(function(){w();I(Object.assign(new Error,{type:"permission",permission:"prompt",status:"denied"}))}),{once:!0}),C.addEventListener("click",(function(){w(),A()}),{once:!0})}))
点击Continue之后才能调用requestPermission获取权限
本文发布于:2024-01-31 09:37:13,感谢您对本站的认可!
本文链接:https://www.4u4v.net/it/170666503627577.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |