現象
刪除默認 `LaunchScreen.xib`,改用 `Images.xcassets` 中 `LaunchImage` 資源目錄,僅 iPhone 6/6 Plus 顯示啟動圖,3.5 寸 (4s) 和 4 寸 (5/5s) 模擬器顯示黑屏/默認畫面。
根因
iOS 8 引入 `LaunchScreen.xib` (Storyboard) 作為**統一啟動畫面機制**,支援 Auto Layout 適配所有尺寸。`LaunchImage` (Asset Catalog 靜態圖片集) 僅作為**向後兼容 iOS 7** 保留,且**必須為每種設備尺寸/解析度/方向提供精確圖片**,缺一不可。
解決方案:回歸 LaunchScreen.xib(推薦)
- 項目導航器右鍵 → New File → iOS → User Interface → Launch Screen,命名 `LaunchScreen`。
- 在 Interface Builder 中拖入 `UIImageView`,設置 `Content Mode = Aspect Fill`,約束四邊貼超級視圖 (Safe Area)。
- 設置圖片資源:`Image` 選擇 `Images.xcassets` 中準備好的**通用高清圖** (如 2732×2732),或使用 PDF 矢量圖。
- Target → General → App Icons and Launch Images → Launch Screen File 選擇 `LaunchScreen`。
- 清理構建 (`Cmd+Shift+K`),運行所有模擬器驗證。
為什麼不推薦繼續用 LaunchImage
- 需提供 12+ 張不同尺寸圖片 (iPhone 4s/5/6/6Plus/6s/7/8/X/SE... × 縱橫 × @2x/@3x),維護成本極高。
- 不支持 iPad 多任務分屏尺寸動態適配。
- Apple 官方文檔明確建議:Use a launch screen storyboard (LaunchScreen.storyboard/xib)。
遷移提示
若項目極舊必須用 LaunchImage,請在 `Images.xcassets` → `LaunchImage` → 右鍵 `Show Sizes`,勾選所有目標設備尺寸,**逐張拖入對應解析度圖片**,不可留空。