[英]Orientation change is not giving proper window height and width in PWA when launched from home screen icon in iPhone
[英]PWA iPhone icon not used when not on the home page
编辑:我删除了我在这里的一堆解释,因为我意识到这个问题是断断续续的,我以前的想法被误导了。
问题是 iPhone 在下载 PWA 时会同时加载屏幕截图和 web 应用程序的图标。 最后加载的任何内容都用作图标(竞争条件错误)。 我的解决方案是使图标文件变大,这导致它总是最后加载。
以下是我尝试使用 Apple 自己的文档设置图标的方法。 我将其添加到 index.html; <link rel="apple-touch-icon" sizes="180x180" href="ream4.png">
也试过没有尺寸,因为为什么不; <link rel="apple-touch-icon" href="ream4.png">
如果有人想比较,这是我的清单。
{
"name": "Ream",
"short_name": "Ream",
"display": "standalone",
"orientation": "portrait",
"start_url": "/",
"icons": [
{
"src": "assets/ream6.png",
"sizes": "64x64 180x180",
"type": "image/png"
}
],
"background_color": "#f8f7fa",
"categories": ["books", "stories", "memberships"],
"homepage_url": "https://reamstories.com"
}
当我从任何位置下载该应用程序时,它确实作为 PWA 下载,我可以很好地使用它,但除非我从应用程序的主页创建它,否则不会下载该图标。 我希望无论用户身在何处都始终使用该图标,并停止使用屏幕截图作为图标。
编辑:更多细节。 该问题似乎是间歇性的。 有时它使用屏幕截图,有时它使用图标。 我不知道为什么。 我通过关闭选项卡并重新打开几次来对此进行测试,每次我都会尝试再次下载 PWA。 有时它会下载图标,有时会使用屏幕截图。 iPhone只是垃圾代码?
编辑(我想我明白发生了什么):它实际上是间歇性的。 清除缓存后,图标需要更长的时间来加载,这会导致它显示,因为它是在生成屏幕截图后加载的。 我想我的解决办法是让图标真的很大。 所以它总是会在屏幕截图后加载。
这是 Apple 猪圈代码中的错误。 唯一的解决方案是使用更大的图像,以便在截取屏幕截图后加载图像。
我通过将徽标图像的大小从 180 像素增加到 980 像素来解决这个问题。 现在它每次都有效。
我想这对一家初创公司来说是意料之中的。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.