ios - 您的浏览器不支持 Webassembly - iOS
问题描述
环境:
- 我使用 Angular 支持的 cordova-phonegap 制作了一个网络应用程序
- 在我的应用程序中有一个 IFrame 正在加载使用 Unity3D 制作的 WebGL 组件
- 当我在浏览器上运行应用程序时,它工作正常,可以在所有浏览器(即 Safari、Chrome、Firefox 等)上完美加载应用程序和组件
- 当我将应用程序打包到 Android 时,它在加载应用程序或由 Android 应用程序本地打包的 WebGL 文件时也完全没有问题。
- 但是当我为 iOS 打包应用程序时 - 它给出了“您的浏览器不支持 WebAssembly”的错误。
PS:对于网站,webgl 组件托管在服务器上,但对于移动设备,我们在本地附加文件。
一些论坛建议尝试 WKWebView,但这样做会导致整个应用程序无法加载。
解决方案
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 中可能效果不佳。
推荐阅读
- javascript - Javascript:从字符串中删除原始字符和重复字符
- html - Angular - 表单验证
- android - 我们如何在所有片段中保持蓝牙连接?
- c# - 将模型从 Window 绑定到 UserControls
- facebook - 检查用户是否登录到 Facebook - 客户聊天插件
- reporting-services - 单个报告中组的 SSRS 报告分页逻辑
- drools - 如何在累积 Drools 中检查空值
- java - 使用自定义 rgb 为列的单元格着色以在列中创建渐变模式,每个单元格都使用 apache poi 具有自己的 rgb
- yocto - 如何从 qt5.7 中删除对 qtwebbroser 的 qt 键盘支持
- php - 如果每个数组元素包含逗号,则展开它