換了XCode6之後,發現以前寫Icon-76.png這樣很麻煩,就使用了Image.xcassets,公司所有測試機跑了一下,發現沒什麼問題。唯獨有一臺設置有問題,iphone5 ios6.0系統,遊戲啓動後黑屏。而且斷點發現遊戲獲取的屏幕大小變爲320x480了,實際應該是640x1136。因爲之前打包是可以的,可以我只好把之前的資源打包的時候再添加進去,但總覺得很麻煩。因爲不同的越獄不同它可能要求你使用的Launch Image是不一樣的,替換來替換去的很繁瑣
之前只加了4張Launch Image,兼容iphone && ipad,我就把4張圖片一張一張的試,結果發現添加了其中一張時,遊戲不再黑屏了,圖片名稱叫“Default-Landscape@[email protected]”,見過[email protected]的,但沒見過前面那個,很奇怪不是嗎?而且我查看了越獄渠道提供的demo,人家也是正常的,圖片名稱上也沒什麼特殊處理,似乎陷入一種無法理解的境地了,why?…
然後我就把越獄渠道提供的demo配置與遊戲打包的開發配置,一項一項對比,發現了這個詭異的配置:
Info中指定了默認的Launch image,那自然的iphone5就會使用Default-Landscape@[email protected],這個很怪異的圖片名稱了。解決方法就是刪除這個屬性,一切就清淨了
iphone(Portrait) Launch Screen的規格:
none Default.png (320 x 480) iPhone 3GS
[email protected] (640 x 960)就是iphone4/4s使用的
[email protected] (640x 1136) iphone5/5s
[email protected] (750 x 1334) iphone6
[email protected] (1242 x 2208) iphone6 plus
根據橫(Landscape)、豎(Portrait)屏iPad有如下幾種(主要區別在於是否爲Retina屏):
Default-Portrait.png (768 x 1024)
[email protected] (1536 x 2048)
Default-Landscape.png (1024 x 768)
[email protected] (2048 x 1536)
如果有導航顯示,那麼相應的“高度”需要減少40,如768 x 1004
雖然,使用Image.xcassets之後,對於圖片沒有什麼要求(反正都在content.json中)但爲了管理方便,我覺得還是使用之前約定的名稱爲宜。
參考鏈接:
[1] http://stackoverflow.com/questions/3973981/how-to-correctly-name-all-those-launch-images-for-an-universal-app/27108377#27108377
[2] IOS Sample Launch Screen File
[3] Default (Launch) Image Sizes for iPhone & iPad
關於App Icon的設置,可以參考之前的文章:IOS應用提交所需的ICON