PWA 图标被裁切或变成小白块,如何排查?
安装后的网页应用,可能需要 manifest 中声明的图标以及普通 favicon。启动器应用形状遮罩时,同一张图片可能呈现完全不同的效果。
准备 ICO 之外的应用素材
可从独立的 192×192、512×512 PNG 开始,再按目标平台补足要求。网页需要引用 manifest,并检查其中的 icons 条目。相对图标路径以 manifest 文件的网址为基准,移动该文件可能导致路径失效。IcoJet 最大输出 256px,不能代替 512px PNG。
真正按 maskable 规则设计
重要图案应位于图片中央、半径为宽度 40% 的圆形安全区内。背景延伸到画布边缘,安全区之外可能被裁掉。只有设计并验证过遮罩效果的图片,才应标记 purpose="maskable"。给贴边 Logo 换个标签,不能保护它的边角。
验证实际安装效果
使用浏览器的 manifest 检查和遮罩预览,再到目标设备安装测试。普通版本与 maskable 版本都要检查,并确认 manifest 指向最新文件。如果旧的已安装应用仍显示异常,先与一次全新测试安装比较,再决定是否修改原始图稿。
{
"icons": [
{
"src": "/icons/app-192.png",
"sizes": "192x192",
"type": "image/png"
},
{
"src": "/icons/app-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "any"
},
{
"src": "/icons/app-maskable-512.png",
"sizes": "512x512",
"type": "image/png",
"purpose": "maskable"
}
]
}