根據裝置的解析度利用 Image Set 配置 2x、3x 的圖片資源的功能大家已經已經很熟悉了。系統會自動根據對應的裝置打包的時候帶上對應的圖片資源(app thin),也減小了包的大小。

原來不僅圖片資源可以這樣,資原始檔也可以!新建專案的時候選擇 “new data set”:

接著在屬性欄就可以配置對應不同裝置的資源分類,除了常規的產品線區分,還可以按照裝置記憶體大小和Metal 版本。如果有的資源只在高效能的裝置上使用,按照記憶體、Metal 版本區分是一個好主意。

很多人對 Metal 版本可能很陌生,我去查了一下,得到的結論是圖形 API 和硬體是相關的。基本一代 metal 版本對應一代 CPU。比如當下的 A11 CPU 對應的是 Metal 4v1。

如果我們選擇了 1GB 、4GB;Metal 1v2、Metal 4v1。如果裝置只選擇了 iPhone 就會出現這樣的 3 * 3 個格子,裡面可以放入對應的資源(plist 也可以)。