2016-03-02 50 views
0

我正試圖在我打算爲iOS設備部署的反應原生應用上設置啓動屏幕。我們都知道,有幾個不同的目標屏幕(由像素密度,高寬比等因素決定),所以我必須提供一些圖像。似乎至少有三種提供映射的方法,允許iOS決定在任何場景中使用哪個圖像; 這是我的理解是,這些方法中的任何一個應該是足夠的本身爲什麼默認的xcassets LaunchImage支持iPhone5開箱即用?

  1. 將所有圖像文件在Xcode項目的根目錄,根據特定的約定(Default.png對其進行命名,[email protected]~ipad.png[email protected]等)
  2. 項目的Info.plist定義UILaunchImages字典項,與指向所需的圖像
  3. 在資產目錄創建類型「LaunchImage」的項目每個場景的字典項,拖放即時消息年齡到佔位符每個場景,然後指向該項目目標的的LaunchImage項目「應用程序圖標和啓動圖像」配置

我有很強的偏好是使用第三種方法,在很大程度上是因爲它需要就定義每個顯示場景的識別特性而言,技術精度最低。但是當我在iPhone5上測試時,它不起作用 - 閃屏是黑色的,而不是顯示我豐富多彩的圖像。我在LaunchImage板上的每個位置放置了一個圖像,這向我暗示,Xcode6附帶的LaunchImage骨架沒有與iPhone5對應的點。這是不對的。 (是的,我的圖像是PNG)。

很多教程告訴我要在資產目錄中創建一個新的圖像集(它具有不同的骨架),但「應用圖標和啓動圖像」配置只允許我選擇LaunchImages的項目。

網上有很多資源記錄了前兩種方法 - 即依靠文件系統約定,或者定義Info.plist中的映射 - 但似乎沒有真正解決資產目錄方法的問題。

有人能指出我正確的方向嗎?


編輯:有趣的是,當我把我的@ 1個圖像中的LaunchImage每一個董事會席位,該項目構建失敗,因爲「沒有適用的內容。」當我將@ 2x圖像放入所有視網膜點時,該應用程序會生成,但閃屏爲黑色。

這是否揭示了一些問題?

+0

建議 - 不要使用啓動圖像。使用單個啓動屏幕文件(故事板)。然後,它可以與包括iPad Pro在內的任何設備一起使用,並支持在支持的iPad上進行多任務處理。 – rmaddy

回答

0

經過一番實驗後,事實證明,由於圖像尺寸不正確,手機默默拒絕已分配給該場景的圖像。我提供的圖像比適當的略大,顯然iOS處理這個圖像的方式是顯示黑色啓動屏幕,而不會發出任何有用的診斷信息。

我從this SO post得到了確切的尺寸。

相關問題