使用 Flutter
先檢查 doctor
將專案、相依套件鎖定檔與所需資源一併傳到 Mac。沿用專案現有的 Flutter 版本,先排除環境問題,再修改應用程式的程式碼。
備妥必要工具
準備 Flutter SDK、完整的 Xcode 與 CocoaPods。如果專案指定 Flutter 版本或 Ruby 工具鏈,請先依照儲存庫的設定安裝,避免本機與打包主機使用不同版本。
執行診斷後,逐項處理 iOS 工具鏈提示。裝置連線提示不一定會阻止封存;Xcode、SDK 或簽章設定缺失則必須先處理。
分清兩種驗證方式
只想確認能否成功編譯,可先執行不簽章的 release 建置。這不能取代已簽章的安裝套件,也不能直接作為發佈成品。
準備匯出 .ipa 時,請在 Xcode 的 Signing & Capabilities 中確認 Team、Bundle Identifier、憑證與描述檔,再執行正式打包。
依序執行
flutter --version
flutter doctor -v
flutter pub get
flutter build ios --release --no-codesign
flutter build ipa --release
最後一個指令需要完整的簽章設定。輸出位置與匯出方式請以目前的 Flutter 版本及指令輸出為準;完成後將成品下載到本機驗證。
| 錯誤線索 | 優先處理 | 先不要做 |
|---|---|---|
| CocoaPods not installed | 確認是否已安裝 CocoaPods,以及目前的終端機是否找得到 pod 指令。 | 不要一開始就刪除整個 iOS 專案。 |
| No profiles / signing | 確認 Bundle Identifier、Team 與匯出類型是否相符,並檢查描述檔的有效期限。 | 不要把相依套件錯誤和簽章錯誤混在一起處理。 |
| Deployment target | 對照外掛程式的要求,統一專案與 Podfile 的最低 iOS 版本,再安裝相依套件。 | 不要只修改一個 target 就直接重試封存。 |