我正試圖在我打算爲iOS設備部署的反應原生應用上設置啓動屏幕。我們都知道,有幾個不同的目標屏幕(由像素密度,高寬比等因素決定),所以我必須提供一些圖像。似乎至少有三種提供映射的方法,允許iOS決定在任何場景中使用哪個圖像; 這是我的理解是,這些方法中的任何一個應該是足夠的本身:爲什麼默認的xcassets LaunchImage支持iPhone5開箱即用?
- 將所有圖像文件在Xcode項目的根目錄,根據特定的約定(
Default.png
對其進行命名,[email protected]~ipad.png
,[email protected]
等) - 項目的Info.plist定義
UILaunchImages
字典項,與指向所需的圖像 - 在資產目錄創建類型「LaunchImage」的項目每個場景的字典項,拖放即時消息年齡到佔位符每個場景,然後指向該項目目標的的LaunchImage項目「應用程序圖標和啓動圖像」配置
我有很強的偏好是使用第三種方法,在很大程度上是因爲它需要就定義每個顯示場景的識別特性而言,技術精度最低。但是當我在iPhone5上測試時,它不起作用 - 閃屏是黑色的,而不是顯示我豐富多彩的圖像。我在LaunchImage板上的每個位置放置了一個圖像,這向我暗示,Xcode6附帶的LaunchImage骨架沒有與iPhone5對應的點。這是不對的。 (是的,我的圖像是PNG)。
很多教程告訴我要在資產目錄中創建一個新的圖像集(它具有不同的骨架),但「應用圖標和啓動圖像」配置只允許我選擇LaunchImages的項目。
網上有很多資源記錄了前兩種方法 - 即依靠文件系統約定,或者定義Info.plist中的映射 - 但似乎沒有真正解決資產目錄方法的問題。
有人能指出我正確的方向嗎?
編輯:有趣的是,當我把我的@ 1個圖像中的LaunchImage每一個董事會席位,該項目構建失敗,因爲「沒有適用的內容。」當我將@ 2x圖像放入所有視網膜點時,該應用程序會生成,但閃屏爲黑色。
這是否揭示了一些問題?
建議 - 不要使用啓動圖像。使用單個啓動屏幕文件(故事板)。然後,它可以與包括iPad Pro在內的任何設備一起使用,並支持在支持的iPad上進行多任務處理。 – rmaddy