本文主要是介绍苹果打怪兽,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
苹果总是觉得他觉得更比用户的想法更重要,因为他觉得他们比用户更了解苹果的产品,真是奇葩的脑回路。
苹果开发最大的问题就是不确定性。微软的产品都有文档详细说明每个接口是做什么的。而苹果,你调用了A,然后他觉得你也需要BCD,一股脑地就给你执行了
1、iPhone H5页面全屏播放视频,在设备旋转锁打开以后,不会按照视频长宽比自动调整纵横播放。在安卓手机上,如果全屏播放的视频是宽屏的,就会自动旋转90度播放,撑满整个屏幕。但iPhone认为用户锁定旋转以后,就是不想翻转手机了。岂不知我们锁定设备旋转不就是为了能够在翻转手机时不会乱跳吗?
上下留这么大黑边的全屏叫全屏吗
2、H5页面,苹果认为VIDEO不可见时可能把画面解码给停了。用CANVAS做H5 VIDEO播放器时,仅仅是切换到全屏CANVAS渲染,画面就卡住不动了,声音还是流畅播放的。问题原因是苹果认为VIDEO被覆盖(不是隐藏,是被遮挡,实际上隐藏是没有问题的,我看过文章说隐藏不行,要设置为1像素大小,结果全屏层覆盖了这1像素VIDEO,苹果直接死给你看),不需要画面显示服务了,在CANVAS里看到的就是卡住的一帧。
3、苹果iOS13获取运动设备授权失败
正常情况下我们要使用运动数据,需要先取得授权
if (DeviceMotionEvent && DeviceMotionEvent.requestPermission) {DeviceMotionEvent.requestPermission().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获取权限
这篇关于苹果打怪兽的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!