让应用支持新iPad的Retina显示屏方法

上周起大家伙纷纷开始上手第三代ipad了。由于新ipad采用了retina显示屏,分辨率较上一代ipad增加了一倍(译者:长宽增加一倍,像素是上一代的四倍)。为了支持新增的这些个像素,ios开发者需要考虑升级自己的ipad应用,我在下文列举了一些必须注意的事项。
一、应用图片
标准ios控件里的图片资源,苹果已经做了相应的升级,我们需要操心的是应用自己的图片资源。就像当初为了支持iphone 4而制作的@2x高分辨率版本(译者:以下简称高分)图片一样,我们要为ipad应用中的图片制作对应的高分版本。我知道不少开发者很有预见性的早在ios 5.0 sdk上就完成了这一步升级。可是我还是要强调一点,那就是之前 michael jurewitz在推特上提到过的:
— 如果想让你的高分图片显示在新ipad上,你必须用xcode 4.3.1 连同ios 5.1 sdk编译!
二、应用图标
接下来肯定就是为应用主图标制作高分版本了,因为低分版的图标在新ipad桌面上看起来会惨不忍睹。为了支持更多的ios设备、更高分辨率的屏幕,ios开发者需要为自己的应用准备各种尺寸的主程序图标文件,而且这个文件列表貌似会越来越长越来越长……(译者:叹气~)。详情请参考最新的苹果开发者文档 ios app programming guide 和 ios human interface guidelines 。从官方文档中,我找出来针对新ipad的retina显示屏我们需要准备的东西:
ipad主应用图标 (144×144像素):之前用在ipad 1、2代上的是72×72 像素。现在我们需要额外的@2x版本(144×144 像素)。
ipad搜索结果图标 (100×100像素):这个图标出现在系统搜索结果中(译者注:还有在系统设置中,如果应用支持的话)。之前版本用的是50×50像素,现在@2x版本需要100×100像素。
文件命名和info.plist文件:
根据你的应用需要支持的ios最低版本不同,你可能需要在info.plist文件中指定图标文件名,或者是按照苹果的规范命名不同版本的主图标文件。最悲催的情况恐怕就是,你搞的是一个即可跑在iphone也可跑在ipad上的通用应用(universal app),并且你打算支持ios 3.1.x甚至更早的版本(译者:其实现在ios 4.0及以上版本的设备普及率已经很高了,完全没有必要支持古董级的版本,咱又不是android)。因为ios 3.2之前是不支持在info.plist文件里面指定图标文件的,所以你得使用苹果指定的规范去命名图标文件。一个完整的列表差不多就是下面这个样子:
● icon.png – 57×57 iphone应用图标
● icon@2x.png – 114×114 iphone retina显示屏应用图标
● icon-72.png – 72×72 ipad应用图标
● icon-72@2x.png - 144×144 ipad retina显示屏应用图标
● icon-small.png – 29×29 iphone 系统设置和搜索结果图标
● icon-small@2x.png – 58×58 iphone retina显示屏 系统设置和搜索结果图标
● icon-small-50.png – 50×50 ipad 系统设置和搜索结果图标
● icon-small-50@2x.png – 100×100 ipad retina显示屏 系统设置和搜索结果图标
如果你的应用仅兼容ios 3.2及之后的版本,那么你可以在info.plist文件里面指定图标文件,你不用遵守上面的命名规范,当然你非要那么命名也没有问题(译者:为了便于和美工沟通和日后项目资源的管理,还是建议遵循这套规范)。在ios 3.2中,苹果在info.plist文件中引入了cfbundleiconfiles键,在此其中你可以直接指定应用图标的各种版本。如果你忽略了.png的后缀名,那么你也可以忽略高分版本图片的@2x部分,系统会自动匹配。
苹果在ios 5.0中为了支持报刊杂志(newsstand)功能,再次引入了一个新的键 cfbundleicons,这让事情变得更加复杂起来(译者:再次叹气~)。这个键下含有子键cfbundleprimaryicon,里面的cfbundleiconfiles子键保存着在此之前保存在info.plist根节点cfbundleiconfiles键里面的内容。如果你的应用仅支持ios 5.0及之后版本,那么用一个 cfbundleicons键就可以,否则的话你还需要同时保留cfbundleiconfiles键和相关内容。
(译者:这里原文讲述稍微有点偏差,未提到cfbundleprimaryicon,而且比较混乱,令人费解。其实在xcode里面以默认方式打开info.plist看到的会是icon files和icon files(ios 5)两组键)
总之,为了做到向后兼容,这个环节会给开发者带来一点小混乱,相当容易犯错。所以,建议开发者针对不同的设备、屏幕组合多做测试。
三、应用商店截屏图片
苹果近期对应用提交做出了规则调整,如若是iphone、ipod touch应用,必须提交retina显示屏高分版本的应用屏幕截图。具体图片尺寸要求如下 (前面的尺寸是含系统状态栏情况下的截图):
- 横屏: 960×640 或 960×600
- 竖屏: 640×960 或 640×920
目前苹果尚未对ipad应用提交也做出类似要求,但是为了让你的应用截图在新ipad上看起来呼之欲出,现在是时候考虑使用高分版本截图了。对应的截图尺寸如下 (前面的尺寸是含有状态栏情况下的截图):
- 横屏: 2048×1536 或 2048×1496像素
- 竖屏: 1536×2048 或 1536×2008像素
译者注:原文评论中有人做了补充的,运行时的载入画面,针对新ipad屏幕也需要准备,文件命名和尺寸要求:
- 横屏: default-landscape@2x~ipad.png (2048×1496像素)
- 竖屏: default-portrait@2x~ipad.png (1536×2008像素)

什么是汽车的功率/扭矩
自动驾驶技术会比自己开车还安全吗
以零跑S01为例的三电系统解析
vivo宣布S系列即将迎来新成员vivo S7e
锂电池为什么会越用电总量越低呢?专家做出解答
让应用支持新iPad的Retina显示屏方法
跨时钟域信号如何处理?
400G光模块放量在即,相关数通设备成为主战场
The VOID揭示了进一步的扩张计划,首次将VR头衔带到了亚洲
拉压力传感器内部结构及原理说明
家里插头电线断怎么办 教你一招自助接线
虚拟现实技术与艺术会擦出怎样的火花
绿米联创与中国电信广州正式签署“5G+智慧社区”战略合作协议
贸泽电子开售适用于汽车外部照明的 ams OSRAM OSLON Black Flat X LED器件
土壤类检测设备种类繁多,其中土壤容重仪的意义非凡
35kv中性点接地电阻柜技术指导是什么
如何使用北鲲云超算平台
STAR机器人成功打败人类医生 机器人或将进入医疗业
学技术 | XMC™使用Dave4快速开发(五)SPI实验
一体化泵站数据采集远程监控系统