【发布时间】:2019-02-21 21:24:44
【问题描述】:
我制作了一个 PWA,以便我的网络应用可以离线使用。这适用于 iOS。但是,在我对其manifest.json(在服务器上)进行更改后,添加到主屏幕的网络应用程序将仅显示其初始屏幕图像,然后挂在白屏上。
这甚至发生在更改版本号这样小的更改之后(据说这会使 iOS 检查服务器上的更新文件)。我在 iOS 12.1.4 和 iOS 12.1 模拟器上进行了测试。
我怎样才能防止这种情况发生?
这是我的 manifest.json,为简洁起见删除了图标列表:
{
"name": "My App Name",
"short_name": "App Name",
"version": "2.2.2",
"theme_color": "#ffcc00",
"background_color": "#382d00",
"display": "standalone",
"orientation": "landscape",
"scope": "/",
"start_url": "/",
"manifest_version": 2
}
更新:当我转到 URL 时,即使是普通的 iOS Safari 也会显示一个空白屏幕,直到我从其历史记录中删除该网站。
【问题讨论】:
-
它从documentation 中说,如果您将来更新 manifest.json 文件,除非用户将您的应用重新添加到他们的主页,否则这些更改不会自动被用户接收屏幕。这是预期的行为。
-
有趣!不知何故,我在那个页面上找不到那个。无论如何,我的主要问题是,在更改清单后,Web 应用程序除了启动屏幕和白屏之外什么都不会显示。所以显然 iOS 确实会检查更新,并且出于某种原因决定不继续加载应用程序。