React Native 0.88 iOS 專案不建議只因 SwiftPM 支援增強,就把生產依賴全面從 CocoaPods 遷走;官方仍將這條路徑列為實驗性,並要求主動啟用,而 CocoaPods 仍受支援。新專案或依賴單純的專案可隔離試跑;依賴鏈複雜、發布流程穩定的專案,先沿用現況,等實際建置與發布驗證通過再分階段評估。

正在建立 React Native 0.88 iOS 專案的獨立開發者,可用本文判斷是否適合試點 SwiftPM。
維護 CocoaPods 生產專案的開發者,可藉此檢查原生套件、外掛與發布風險。
負責 Mac 建置的小團隊,可據此安排隔離驗證與回退路徑。

最後更新於 2026 年 10 月 29 日;版本狀態核對自 React Native 0.88 官方發布說明,建置環境要求另參照 Apple 的 Xcode 系統需求。官方狀態可能更新,正式遷移前請再核對。

01

React Native 0.88 SwiftPM 選型,先看目前的生產風險

「版本加入支援」不等於「現在就該遷移」。React Native 0.88 的發布說明將 SwiftPM 支援標示為實驗性,且需主動啟用;同一份說明亦指出 CocoaPods 仍受支援。這代表你可以評估新的依賴路徑,但不能把它當成所有專案都已完成相容驗收的保證。官方發布說明

React Native 0.88 的 SwiftPM 路徑適合直接用於生產發布嗎?
除非你已用實際依賴、乾淨檢出與正式發布流程完成驗收,否則不宜直接替換生產路徑。將實驗性支援理解為可測試選項,比把它解讀成全面遷移建議更穩妥。

要分辨官方目前已落地的行為與後續計畫:React Native 0.87 發布說明可作為版本變化的參照;而 0.89 的 SwiftPM 預設路徑,在 0.88 說明中屬於計畫,不能寫成已生效功能。計畫可能調整,實際決策仍應以你採用的版本與建置結果為準。

提醒: 不要僅憑一次本機編譯成功就判定遷移完成。依賴解析、建置、App 行為與上傳流程是不同驗收關卡,任何一關未過,都不等同於整條發布鏈可用。

02

遷移前:先查清原生依賴從哪裡來

不要先移除 Podfile,再逐個猜哪個套件能改用 SwiftPM。先整理目前專案的依賴來源與建置方式,再找出會阻礙遷移的部分。

切換 React Native CocoaPods 之前,應先盤點哪些原生依賴?
至少檢查 React Native 核心、原生模組、第三方函式庫,以及自訂建置腳本。對每一項記錄目前由哪個工具解析、是否有 CocoaPods 專用設定、是否存在 Swift Package 描述或經驗證的 SwiftPM 接入方式。查不到可靠依據的項目,標為「待驗證」,不要假定可直接替換。

可依下列方式整理:

  • React Native 核心:確認專案實際版本與官方發布說明中的 SwiftPM 啟用方式,不要把其他版本的設定直接套用。React Native 0.88 官方發布說明
  • 原生模組與第三方函式庫:逐項核對套件文件、維護狀態與依賴入口。React Native 的原生函式庫文件可協助你理解函式庫接入方式,但不能代替每個套件自己的相容性驗收。
  • 專案自訂腳本:搜尋 Pod 安裝、生成檔案、建置階段與環境變數設定。若腳本預期特定依賴目錄或安裝產物,切換解析工具後就需要重新檢查。
  • 鎖定狀態:確認目前如何固定依賴版本,以及在乾淨檢出時如何重建相同環境。SwiftPM 與 CocoaPods 的設定和鎖定檔用途不同,不能只看檔案名稱就判定等價。

經驗提醒: 在盤點表中明確分開「文件已確認」、「專案已驗證」與「仍待驗證」。有套件文件,不代表你的 React Native 版本、Xcode 工具鏈和自訂腳本組合已成功建置。

03

建立試點:把新路徑留在可撤回的範圍

React Native Swift Package Manager 與 CocoaPods 能否在同一個 iOS 專案混用?
不要把「工具本身可能支援不同依賴來源」推論為「你的專案可安全混用」。混用時,仍要確認同一原生依賴是否被重複引入、各自的設定是否衝突,以及自動連結與建置腳本如何處理。對未驗證的組合,先在獨立分支或副本中試跑,不要直接改動正式發布分支。

SwiftPM 路徑與 CocoaPods 在專案設定、依賴解析及日常維護上並不相同。Apple 的套件相依性設定說明介紹 Xcode 專案如何加入套件;持續整合中的 Swift 套件建置說明則提醒你把套件解析納入 CI 工作流程。這些文件可幫你理解工具行為,但不表示所有 React Native 原生模組都已支援相同路徑。

新專案或依賴較單純時,先在試點分支啟用 SwiftPM,記錄解析結果、建置命令與已知限制,再決定是否擴大使用。不要把「少安裝一種工具」直接當成總維護成本下降:如果某個原生模組仍依賴 CocoaPods 設定,或團隊的發布腳本需要重寫,省下的設定步驟可能被除錯與維護成本抵銷。

04

執行驗收:用 Mac 重現完整的建置與發布流程

沒有本機 Mac,怎樣驗證 React Native SwiftPM 的 iOS 建置?
你仍需要能執行所需 macOS 與 Xcode 工具鏈的 Mac 環境;用 Windows 或 Linux 上的依賴解析結果,不能取代 iOS 原生建置驗收。Apple 的Xcode 系統需求頁可用來核對你選用的 Xcode 與 macOS 是否相容。若採遠端 Mac,請用專案實際依賴與發布命令驗證,不要只確認能連線或能開啟 Xcode。

依照以下次序建立可重現的測試:

  • 先固定測試條件:記錄 React Native 版本、依賴清單、Xcode 版本及建置設定。版本狀態以官方發布說明為準;工具鏈則對照 Apple 系統需求。
  • 再做乾淨檢出:從沒有既有依賴快取的工作副本開始,執行專案指定的套件解析與安裝步驟。確認其他團隊成員或 CI 能依相同設定重現。
  • 接著確認 iOS 建置:按專案實際使用的建置方式執行,記錄失敗位置與缺少的設定。不要把「依賴解析成功」記成「應用程式已建置通過」。
  • 檢查模擬器與應用行為:確認應用能啟動,並測試涉及原生模組的主要功能。只有編譯成功,無法證明原生模組在執行階段正常。
  • 最後走發布鏈路:用團隊目前採用的簽署與上傳流程驗證。若要上傳建置,依照 App Store Connect 的建置上傳說明核對操作要求;上傳成功也不等同於 App 已通過審核。

每一關都應留下可比對的結果:依賴能否解析、乾淨建置能否重現、應用行為是否正常、發布流程是否可用。若正式分支同時更換依賴管理方式與發布設定,一旦失敗便難以判斷問題來源;先只改動一類變因,才能保留清楚的回退點。

05

到決策點:保留、擴大試點,或暫緩遷移

把盤點與驗收結果轉成明確分支,不要只依「想統一工具」或「新功能已推出」決定:

  • 若核心原生依賴都有可查證的 SwiftPM 路徑,且乾淨檢出、建置、應用行為與發布流程均已通過,可擴大試點;先在非正式發布分支重複驗證,再考慮調整正式專案。
  • 若大部分依賴已確認,但少數外掛、自訂腳本或混用方式仍待驗證,保留 CocoaPods 正式路徑,把 SwiftPM 留在隔離分支補測。
  • 若依賴鏈複雜、混用狀態不明或回退困難,暫緩遷移,先補齊相容性資料與回復程序。

React Native 官方後續版本的計畫可以作為復核訊號,不能代替你自己的專案測試。當官方調整 SwiftPM 的實驗性狀態、預設啟用方式或相容性說明,或你的原生依賴發生變化時,再重新檢查決策。

你的專案狀況 建議路徑 需要守住的邊界
新專案、依賴來源清楚,可隔離測試 小範圍試行 SwiftPM 未完成發布驗收前,不取代正式發布路徑
CocoaPods 專案、依賴已有部分相容證據 保留正式路徑,逐步驗證 不要同時更改依賴管理與發布設定
依賴鏈複雜、混用狀態不明或回退困難 暫緩遷移 先取得套件相容性依據,並確認可還原原設定

對仍在用 CocoaPods 的專案,現在直接全面遷移會增加未知依賴、建置腳本差異與發布故障的排查負擔;但只在開發者個人電腦上做測試,也可能無法重現乾淨檢出或持續建置問題。如果你沒有本機 Mac,或不想讓主要工作站承擔試驗性依賴變更,可先查看 KVMNODE 的 Mac 遠端環境選項,並了解 KVMNODE 提供的 Mac 遠端使用方式,再用獨立環境驗證 React Native iOS 建置。若測試頻率高、需要長期固定環境,自購 Mac 可能更合適;若只需短期驗收,遠端租用可讓測試環境與日常開發分開。無論選哪種方式,SwiftPM 能否進入生產仍應由專案實測決定。