为什么iOS端的微信不支持WebAR?

2,064 阅读2分钟

曾经,在H5交互刚开始火爆的时候,就有众多的人谈到AR是否放到Web网页上呢?这样的话能让H5交互更加有趣。但是由于iOS端不支持WebRTC(可以理解为Web是否具有打开摄像头的权限),这件事情就被大家暂时搁置了。

iOS11的发布,Apple宣布Safari浏览器宣布WebRTC,WebAR在iOS端就具备可行性条件了。

后来,我们发现所有的WebAR案例都只能运行在Safari浏览器中,微信、QQ以及众多的浏览器都不能支持。

究其根本,是由于WKWebView、UIWebView和SFSafariViewController均不支持WebRTC API中的getUserMedia,再由于Apple的政策,上架AppStore的App必须使用官方的WebKit内核,所以导致了譬如微信等所有App不支持WebAR。

其实关于WKWebview不支持WebRTC的问题,有国外的开发者询问过Apple技术,但是不能得到正面的回应:

forums.developer.apple.com/thread/8805…

但是Apple技术还是建议开发者通过官方手段提建议的,可以通过点击下面链接提出建议:

bugreport.apple.com/

号召广大开发者给Apple提建议,让WKWebView在新的iOS版本中支持WebRTC.


但是也别高兴的太早,假如Apple在新的iOS版本支持这一特性,也需要微信本身不作恶,曾几何时,微信通过自身技术手段禁止了Universal Link(使用Universal Link可以做到,比如说:你在浏览一个某某App的网页时发现一个好看的电影,并且刚好你安装了这个App,那么点击这个视频就可以直接跳转到那个视频App直接观看,当中也不会有任何提示框来打断用户体验),并且还是通过使用Apple禁止的私有API来完成这一封堵的。

然后他们还给腾讯系的App开白名单,他们自家的App就能用Universal Link,气不气!

反正,我是听说有开发者向Apple投诉微信这一行为了。

那么回过头来,就算新版iOS的WKWebView支持WebRTC了,但是万一微信说为了大家的安全着想,微信的网页内打开摄像头这样的高危权限,我们就禁用了哟。

还好的是现在Android版微信没有这样做,也希望他一直别这样做。