Platform
详解 apple-touch-icon-precomposed
apple-touch-icon-precomposed 是一个遗留 rel 值,它告诉早期 iOS 不要给主屏幕图标应用它那层光泽"高光"。图像会被完全按其原样使用。自从 iOS 7 去掉了那层光泽效果,precomposed 变体就不再改变任何东西了,所以一个普通的 apple-touch-icon 就是你需要的全部。
"precomposed" 曾经的含义
在 iOS 6 之前,Safari 会自动给任何主屏幕图标加上一层光泽高光和圆角。把图标声明为 precomposed 就是退出这层光泽,好让一个本身已经有自己质感的设计,不会被再叠加第二层。
iOS 7 彻底移除了自动光泽,这让这个区分变得无关紧要。如今两个 rel 值产生完全相同的主屏幕图标,所以 precomposed 变体虽然仍被认可,却已无事可做。
两个变体
<!-- legacy: opted out of the old iOS gloss -->
<link rel="apple-touch-icon-precomposed" href="/apple-touch-icon.png" />
<!-- today: just use this -->
<link rel="apple-touch-icon" href="/apple-touch-icon.png" />Precomposed 图标常见问题
我需要 apple-touch-icon-precomposed 吗?
不需要。自 iOS 7 起就没有光泽可退出了,所以一个普通的 apple-touch-icon 行为完全一致。只发布那个就行。
apple-touch-icon 和 precomposed 版本有什么区别?
历史上,precomposed 跳过了 iOS 的自动光泽高光。在当前 iOS 上两者都不加光泽,所以现在已经没有实际区别了。
precomposed 会阻止圆角吗?
不会。iOS 仍然会把主屏幕图标遮罩成它自己的圆角半径,与此无关。precomposed 从来只影响那层光泽叠加,而 iOS 已不再应用它。