最近在开发 PWA(Progressive Web App)时,我遇到了一个让强迫症很困扰的问题:PWA 的图标在苹果电脑的 Dock 栏上显示得比其他图标要大。正好我在油管看网页三维的内容,看到油管也支持安装,我就试了一下,发现油管也存在相同的问题。看着大厂都如此,我不禁有些怯场,如果这是苹果自己定标准,和谷歌的不一样,会不会太好解决?经过一番谷歌查询后,我发现这个问题是个很经典的问题,很多人都遇到了类似的情况。
发现谷歌的示范例子没有这个问题
起初在学习 PWA 的过程中,看的是谷歌官方的文档,文档从头到位给的例子都是这个squoosh,我就想用官方的例子来证实一下我上面的猜想,但是squoosh却显示正常。这下不得爬一下 JSON 文件查看一下图标项,配置如下:
"icons": [
{
"src": "/c/icon-large-cb438cac.png",
"type": "image/png",
"sizes": "1024x1024"
},
{
"src": "/c/icon-large-maskable-c2078ced.png",
"type": "image/png",
"sizes": "1024x1024",
"purpose": "maskable"
}
]
解决方案
我还抓了油管的配置文件,看到我俩都没有用1024尺寸的icon,同时也没有purpose值为maskable的字段,接下来就好办了,裁一个图标,两个进行排除,最后确定是没有加上maskable的原因,这是谷歌的资料对maskable的解释,当初看到这个,我以为是针对安卓不同厂家桌面icon显示的处理,没想也会影响到苹果的桌面图标显示,加上之后大小一样了,现在舒服了。