嗨,大家今天過得好嗎?歡迎來到鐵人賽 Day 26。
昨天我們完成了前後端的正式環境切換,系統的「骨架與肌肉」已經無懈可擊了。
但是,如果你現在把 App 安裝到實體 iPhone 上,你會看到你的 App 名稱是一串冷冰冰的英文專案代號,而且圖示 (App Icon) 還是 iOS 預設的那個白色網格假圖。點開 App 的瞬間,還會閃過一片刺眼的白畫面。
如果就這樣把 App 交給測試人員或準備審查,這就像是穿著破爛的睡衣去參加高級晚宴一樣,第一印象直接不及格。今天,我們要把工程師的腦袋切換成產品經理,來進行上架前的最後視覺拋光 (Polish)!
在 Xcode 建立專案時,你可能取了一個像 AIHardwareHunter 這樣的英文代號,這也是目前顯示在 iPhone 主畫面上的名字。
我們需要把它換成好懂的中文名稱:
極客獵人 或是 AI 配單大師。就這麼簡單,你的 App 終於有了一個響亮的招牌了。
如果是幾年前開發 iOS,準備 App Icon 是一場惡夢。你需要準備 20px、29px、40px、60px、1024px... 各種奇葩尺寸的圖檔。
但在現代的 Xcode(14 以上版本)中,Apple 終於大發慈悲,引入了 Single Size Icon 的功能。
現在,你只需要準備一張 1024 x 1024 px 的 PNG 圖檔,Xcode 就會自動幫你裁切並適配到 Apple Watch、iPhone、iPad 跟 Mac 上!
既然我們是 AI 開發系列,當然不用自己開 Photoshop 慢慢畫。
你可以打開 Midjourney 或 ChatGPT (DALL-E 3),下這段 Prompt:
「請幫我設計一個 iOS App Icon。主題是電腦硬體與 AI 結合,風格要求極簡、扁平化 (Flat Design)、帶有科技感的藍紫漸層背景,不要有任何文字。」
拿到滿意的 1024x1024 圖片後:
Assets.xcassets (資源目錄)。AppIcon。All Sizes 改為 Single Size。搞定!按下編譯 (Cmd+R),模擬器首頁上就會出現你精美的專屬 Icon 啦。
當使用者點擊 App Icon 時,系統需要一點時間把你的 SwiftUI 介面載入記憶體。在這短短的 0.幾秒內,系統會顯示一張預設圖片。如果你沒設定,預設就是一片死白(如果手機是深色模式,就是一片死黑)。
這在 UX 上非常扣分。我們不需要做太複雜的動畫,只要設定一個有質感的背景色+Logo 就好。
在現在的 SwiftUI 專案中,設定 Launch Screen 最乾淨的做法是透過 Info.plist:
Assets.xcassets 裡面:
LaunchBackground),設定為你的品牌主色(例如深灰色)。LaunchLogo)。Launch Screen 的字典 (Dictionary)。Background color (String) ➔ 填入 LaunchBackground
Image Name (String) ➔ 填入 LaunchLogo
下次你啟動 App,就會看到非常順暢的視覺過渡:點擊 App Icon ➔ 顯示深色背景與 Logo ➔ 柔和地轉場進入 SwiftUI 首頁。質感瞬間暴增!
這裡一定要分享一個無數 iOS 開發者崩潰過的 Bug。
如果你設定好 Launch Screen 後,重跑模擬器卻發現「畫面還是白的!」,或者「怎麼還是舊的圖片?」。
這不是你寫錯了,是 iOS 系統的快取 (Cache) 在搞鬼。
Apple 為了讓 App 啟動極致快,會把 Launch Screen 寫死在系統極底層的快取裡,而且非常難清除。
解法:
不要懷疑人生,直接把模擬器裡的 App 刪除 (Delete App),然後把模擬器關機重開,最後重新用 Xcode 裝一次,你的新版啟動畫面就會出現了。
今天我們換上了產品經理與設計師的帽子,補齊了專案最後的門面。有了正式的名字、AI 加持的精美 Icon,以及絲滑的啟動畫面,這套系統現在看起來,已經是個能賣錢的成熟產品了。
我們的「本地開發與拋光」到今天正式畫下完美句點。
明天!我們要進入 App 圈最令人興奮、也最讓人頭痛的關卡:上傳 App Store Connect,並發布你的第一個 TestFlight 內部封測版本!
準備好你的 Apple Developer 帳號,我們 Day 27 見!