OGeek|极客世界-中国程序员成长平台

标题: ios - Ember Cordova 应用程序卡在 iOS 11.3 的加载屏幕上 [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 14:39
标题: ios - Ember Cordova 应用程序卡在 iOS 11.3 的加载屏幕上

我有一个使用 Corber 为 Ember-Cordova 构建的应用程序。 Xcode 9.3 版 Cordova [email protected] 所有依赖项都更新到最新版本。

我正在模拟器上进行测试,因为我没有可以安装 iOS 11 的开发 iPhone。

该应用在 iOS 11.2 及更早版本上可以正常加载 - 但在 iOS 11.3 上它会卡在初始屏幕上。过了一会儿,我看到一个加载图标,但页面永远不会改变。

通过在应用程序开始加载后立即使用 Safari 进行分析,我可以看到 js 脚本和 css 没有从/www/index.html 加载。这是我在控制台日志中看到的:

Cannot load script file:///Users/username/Library/Developer/CoreSimulator/Devices/07A01A47-573B-4D25-ABE3-AV9179985ABF/data/Containers/Bundle/Application/7976FE33-BLO3-21E9-A055-707AAC68468B/App%20Name.app/www/assets/vendor-e8t893cf6a6bg0f81f23d4a68ae6ffde.js. Failed integrity metadata check.

我试图查找有关“完整性元数据检查”的信息,据我所知,iOS 正在运行它来验证正在导入的脚本的校验和。在 Xcode 中的/www/index.html 中,我可以看到脚本标签具有“完整性”属性,即两个校验和 - 一个 sha256,一个 sha512。例如

<script src="assets/vendor-e8e903cf6a6bf0f81f23d4b68ae6ffde.js" integrity="sha256-MPm9fFc7ljuslonkMxW0TnQOAcy6KgJ4zLs+ptl/b58= sha512-oIqpQbUMPLBbSASoSCJ/+z55y2g6NlBzhTE3V+uDt8TNeJam5GAWoGT/D2u4ihIxE586JPu3c+r4GaUpjUWCAw=="></script>

所以我猜想发生的事情是 iOS 11.3 以某种方式检查文件的校验和,与它们的“完整性”属性进行比较,但没有得到匹配。有谁知道导致这种情况发生的原因以及如何解决?

注意虽然从表面上看,这与无法加载资源有关,但我认为这与内容安全策略无关——我在/www/index.html 中尝试了内容安全策略的多次迭代——最近:

default-src * gap://ready file:; style-src 'self' 'unsafe-inline' *; script-src 'self' 'unsafe-inline' 'unsafe-eval' *

这些似乎都没有影响,如果这是一个问题,我希望看到与内容安全策略相关的错误。



Best Answer-推荐答案


我们发现 ember-cli-sri 存在问题 - http://blog.isleofcode.com/untitled/

ember-cli-sri repo 上的这条评论为我们解决了这个问题。 https://github.com/jonathanKingston/ember-cli-sri/issues/33#issuecomment-378448379

关于ios - Ember Cordova 应用程序卡在 iOS 11.3 的加载屏幕上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49931286/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4