首页 > 解决方案 > 您的浏览器不支持 Webassembly - iOS

问题描述

环境:

  1. 我使用 Angular 支持的 cordova-phonegap 制作了一个网络应用程序
  2. 在我的应用程序中有一个 IFrame 正在加载使用 Unity3D 制作的 WebGL 组件
  3. 当我在浏览器上运行应用程序时,它工作正常,可以在所有浏览器(即 Safari、Chrome、Firefox 等)上完美加载应用程序和组件
  4. 当我将应用程序打包到 Android 时,它在加载应用程序或由 Android 应用程序本地打包的 WebGL 文件时也完全没有问题。
  5. 但是当我为 iOS 打包应用程序时 - 它给出了“您的浏览器不支持 WebAssembly”的错误。

PS:对于网站,webgl 组件托管在服务器上,但对于移动设备,我们在本地附加文件。

一些论坛建议尝试 WKWebView,但这样做会导致整个应用程序无法加载。

标签: iosangularcordovaunity3dwebassembly

解决方案


WKWebView 基于 Safari,默认不支持 WebGL2。https://caniuse.com/webgl2但它应该支持 WebGL1 https://caniuse.com/webgl

似乎 Unity 支持 WebGL 1 和 WebGL 2。https://docs.unity3d.com/Manual/webgl-graphics.html因此,尝试使用 WebGL 1 构建它。

https://answers.unity.com/questions/1454045/how-to-make-webgl-export-work-in-all-browsers.html

如果可行,您可以将其构建为适用于 ios 的 WebGL 1 和适用于 android 的 WebGL 2。但当然,有些事情在 WebGL 1 中可能效果不佳。

图片来自 Unity 论坛,关于 Unity 的 WebGL 设置


推荐阅读