Xcode 需求

適用於 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。