適用於 iOS、tvOS、Mac Catalyst 或 macOS 工作負載的每個 .NET 版本都需要特定版本的 Xcode。
我們在 版本資訊 中指出每個版本的確切 Xcode 版本。
備註
在少數幾個情況下,使用不同版本的 Xcode 可能會奏效,但即使沒有建置錯誤或警告,這種做法也不受支持。
新的工作負載
新版本的工作負載可能需要不同版本的 Xcode。 每當 Apple 發行新版本的 Xcode 時,通常會發生這種情況:不久之後,我們會發行新版本的工作負載,以支援新版本的 Xcode。 因此,更新工作負載最終需要新版本的 Xcode。
這通常會顯示組建錯誤,如下所示:
此版本的 Microsoft.iOS 需要 iOS 18.4 SDK(隨附於 Xcode 16.3)。 目前的 Xcode 版本是 16.2。 安裝 Xcode 16.3,或使用不同版本的 Microsoft.iOS。 如需相關資訊,請參閱 https://aka.ms/xcode-requirement 。
或:
此版本的 .NET for iOS (18.4.9288) 需要 Xcode 16.3。 目前的 Xcode 版本是 16.2。 安裝 Xcode 16.3,或使用不同版本的 .NET for iOS。 如需相關資訊,請參閱 https://aka.ms/xcode-requirement 。
最簡單的解決方案通常是升級至錯誤訊息提及的 Xcode 版本。
您也可以安裝 較舊的 對應工作負載版本,以避免必須升級 Xcode。
在某些情況下,較新版本的 Xcode 也需要更新為較新的 macOS 主要版本(這通常發生在每年 4 月左右)。 如果開發人員目前的硬體不支援新的 macOS 版本,唯一的選項是使用 舊 版的工作負載(或取得新硬體)。
新版 Xcode
Apple 發行新版 Xcode 和我們發行支持這個新 Xcode 版本之間有一段時間。 有時候macOS會自動更新已安裝的 Xcode 版本,這可能會在此時間範圍內造成問題。
最簡單的解決方案是 安裝多個 Xcode 版本,並選取與已安裝工作負載之 Xcode 需求對應的 Xcode 版本。
備註
建議您在macOS上的App Store中停用自動更新,以避免這種情況發生。
安裝多個 Xcode 版本
可以同時安裝多個版本的 Xcode。
這可以使用下列步驟來完成:
- 移至 Apple Developer Downloads 網站。
- 使用您的 Apple ID 登入。
- 搜尋所需的 Xcode 版本。
- 下載
.xip
檔案。 - 按兩下以解壓縮檔案。
- 將 [下載] 資料夾中的
Xcode.app
重新命名為更具描述性的名稱(例如Xcode_15.app
)。 - 將擷取的
*.app
移至/Applications/
目錄。
備註
如果 Xcode 應用程式在至少開啟一次之後重新命名,我們就會發現奇怪的問題,因此我們建議您在下載並解壓縮應用程式之後,才重新命名應用程式。
安裝所需的 Xcode 版本之後,開發人員可以從 Xcode 中選擇它們(功能表 Xcode - 設定 ->> 位置 -> 命令行工具),或使用xcode-select
命令行中的工具:
$ sudo xcode-select --switch /Applications/Xcode_15.app
這很重要
此檔案 ~/Library/Preferences/Xamarin/Settings.plist
也可以用來選擇特定版本的 Xcode,而且此檔案的優先順序會高於 Xcode 或命令行 xcode-select
上使用 所指定的設定。 為了避免混淆,建議您只刪除此檔案。
安裝舊版的工作負載
使用 工作負載集來安裝特定版本的工作負載。
確切的工負集版本無法事先預測,但我們會在每次發佈時明確說明特定工作負載版本的工負集版本:https://github.com/dotnet/macios/releases。
以下是支援 Xcode 16.3 的版本範例:
$ dotnet workload install ios --version 9.0.203
常見問題
升級我的 Xcode 是否安全?
查看我們的 版本清單,以檢查我們是否已發佈對某個版本 Xcode 的支援。
如果我們已發行特定 Xcode 版本的支援,可以放心地升級至該版本的 Xcode(也包括 MAUI 開發人員)。 可能有其他檔指出某些較舊版本的 Xcode 是支援的版本;這些檔通常落後於我們的版本一定程度上。
相反的也是事實:如果我們 尚未 發行特定版本的 Xcode 支援,升級 Xcode 可能會造成問題。 對於想要較新版本 Xcode 的開發人員,在此情況下最好的解決方案是 安裝多個版本的 Xcode。