大家伙紛紛開始上手第三代iPad了。由于新iPad采用了Retina顯示屏,分辨率較上一代iPad增加了一倍(譯者:長寬增加一倍,像素是上一代的四倍)。為了支持新增的這些個像素,iOS開發者需要考慮升級自己的iPad應用,我在下文列舉了一些必須注意的事項。
一、應用圖片
標準iOS控件里的圖片資源,蘋果已經做了相應的升級,我們需要操心的是應用自己的圖片資源。就像當初為了支持iPhone 4而制作的@2x高分辨率版本(譯者:以下簡稱高分)圖片一樣,我們要為iPad應用中的圖片制作對應的高分版本。我知道不少開發者很有預見性的早在iOS 5.0 SDK上就完成了這一步升級?墒俏疫是要強調一點,那就是之前 Michael Jurewitz (@Jury)在推上提到過的:
—、如果想讓你的高分圖片顯示在新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 像素,F在我們需要額外的@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像素)