如何為單一 Feature 建立 Swift Package
在專案開發到一定規模後,你可能會發現某些 feature 其實相對獨立:它們有自己的流程、畫面、資源檔,甚至可以被其他專案重用。這時候,最乾淨、最有彈性的做法,就是把它抽成 Swift Package。
以我最近在做的功能為例,它是一個完整的獨立模組 - 有多個頁面、支援多國語言、使用圖片與動畫資源。為了避免日後整合時出現命名衝突、相依過重或編譯過慢的問題,我選擇把它獨立成一個 Swift Package。在將 feature 抽出到 Package 的過程我也踩到了一些坑,趁著這個機會記錄下來,以免日後忘記。
為什麼要把 Feature 打包成 Swift Package?
建立專屬的 Swift Package 有幾個明顯的好處:
- ✅ 可獨立開發與測試:模組化後不必依賴主專案,可單獨編譯與驗證。
- ⚙️ 降低相依與衝突:減少命名重複、依賴鏈過長等問題。
- 🚀 加快編譯速度:主專案不需每次都重新編譯整個功能。
- 🔄 方便整合與重用:未來可以直接被其他 app 或團隊使用。