渐进式网络应用程序真的适用于iOS吗?



我对iPhone上的PWA感到非常困惑。

首先,在展示我的代码之前,我试图检查一个好的 Web 应用程序的外观。 在谷歌中搜索最好的渐进式网络应用程序,我在Safari年的 iPhone 上打开了所有这些应用程序,然后单击Share button然后单击Add To Home Screen。(优步,Flipboard,Twitter,谷歌地图,速卖通等)

从主屏幕打开图标时,它将再次打开Safari,与我所在的页面相同,就像任何网站一样。

  1. 没有全屏
  2. 没有单独的窗口(只是像网站一样在 Safari 中打开)
  3. 无初始屏幕
  4. 在Chrome上 - 没有"添加到主屏幕"按钮

基本上只是一个带有图标的网站。

然后我尝试在我的网站上使用页面上的 Googlepwacompat库执行此操作。

我已将它们添加到页面中head

<link rel="manifest" href="manifest.webmanifest" />
<meta name="apple-mobile-web-app-capable" content="yes">
<link rel="apple-touch-icon" href="../images/logo.png">

然后是我的 html 底部的 JS 库:

<!-- webapp manifast library -->
<script async src="https://cdn.jsdelivr.net/npm/pwacompat@2.0.6/pwacompat.min.js" integrity="sha384-GOaSLecPIMCJksN83HLuYf9FToOiQ2Df0+0ntv7ey8zjUHESXhthwvq9hXAZTifA" crossorigin="anonymous">
</script>

同样,我正在将此页面添加到主屏幕,但什么都没有。 没有全屏,没有不同的窗口,只有Safari.

我是否误解了PWA的基本知识?

iOS 开始向 PWA 开放的时间很晚,它仍然需要额外的属性(如您使用的那样)来提供全套 PWA 功能。

在 Chrome DevTools 中,如果转到"应用程序"选项卡(针对您的应用程序),是否可以看到 Web 清单及其属性是否正确显示,以及服务辅助角色?

正如Mathias所说,你需要一个HTTPS连接才能正确地注册服务工作者。然而,对于开发目的,本地主机被认为是"安全的"。

我写了一系列关于PWA的文章,你可以看看并跟随,看看你是否遗漏了什么。

以下是支持服务工作者的浏览器列表(与您正在使用的 safari 版本进行比较)。

<小时 />

更新

我在这里回答你的评论:

  1. 如果某些网站提供PWA(例如。优步,FB)在其他设备上作为PWA工作,但不在您的手机上,那么我会尝试调查您是否缺少设置。我做了一个快速的研究,似乎对于iOS用户来说,使用/启用PWA需要一些额外的步骤:

用户必须使用 Safari 访问 PWA URL,然后手动按"共享"图标,然后按"添加到主屏幕"。没有迹象表明访问的网站是PWA。

关于Chrome中的"添加到主屏幕",当它被删除时,我确实找不到任何官方信息。我只能说,自从最新版本(v74+)之一以来,我再也没有见过它。

  1. PWA的每个页面都应该是可链接的,以便通过社交媒体应用程序共享它。因此,如果您有一个有效的 PWA 并将链接发送给其他人,这些链接也应该有效。鉴于该应用程序已正确实现,则没有特殊的浏览器限制。

我在下面留下了一些链接,其他人对PWA和iOS 12.2有类似的问题:

  • 与讨论链接
  • 测试 PWA
  • 带有一些提示的文章(这里有一些关于如何使PWA在iOS上运行的建议)

最新更新