Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для каждой версии .NET для рабочих нагрузок iOS, tvOS, Mac Catalyst или macOS требуется определенная версия Xcode.
Мы указываем в наших заметках к выпуску точную версию Xcode для каждого выпуска.
Замечание
В нескольких ограниченных сценариях использование другой версии Xcode может работать, но это не поддерживается, даже если нет ошибок сборки или предупреждений.
Новые рабочие нагрузки
Для новой версии рабочей нагрузки может потребоваться другая версия Xcode. Обычно это происходит всякий раз, когда Apple выпускает новую версию Xcode: вскоре после этого мы выпускаем новые версии рабочих нагрузок, поддерживая новую версию Xcode. Таким образом, обновление рабочих нагрузок приведет к необходимости создания новой версии Xcode.
Часто это проявляется с ошибкой сборки следующим образом:
Для этой версии Microsoft.iOS требуется пакет SDK для iOS 18.4 (поставляется с Xcode 16.3). Текущая версия Xcode — 16.2. Установите Xcode 16.3 или используйте другую версию Microsoft.iOS. См. https://aka.ms/xcode-requirement для получения дополнительной информации.
или:
Для этой версии .NET для iOS (18.4.9288) требуется Xcode 16.3. Текущая версия Xcode — 16.2. Установите Xcode 16.3 или используйте другую версию .NET для iOS. См. https://aka.ms/xcode-requirement для получения дополнительной информации.
Самое простое решение обычно заключается в обновлении до версии Xcode, указанной в сообщении об ошибке.
Кроме того, можно установить старую версию соответствующей рабочей нагрузки, чтобы избежать необходимости обновления Xcode.
В некоторых случаях более новая версия Xcode также требует обновления до более новой основной версии macOS (обычно это происходит около апреля каждый год). Если новая версия macOS не поддерживается на текущем оборудовании разработчика, единственным вариантом является использование более старой версии рабочей нагрузки (или получение нового оборудования).
Новый Xcode
Существует период времени между тем, как Apple выпускает новую версию Xcode, и нашим выпуском поддержки этой новой версии Xcode. Иногда macOS автоматически обновляет установленную версию Xcode, которая может вызвать проблемы в течение этого периода времени.
Самое простое решение — установить несколько версий Xcode и выбрать версию Xcode, соответствующую требованию Xcode для установленных рабочих нагрузок.
Замечание
Чтобы избежать этого сценария, рекомендуется отключить автоматические обновления в App Store в macOS.
Установка нескольких версий Xcode
Одновременно можно установить несколько версий Xcode.
Это можно сделать с помощью следующих действий.
- Перейдите на страницу загрузок для разработчиков Apple.
- Войдите с помощью идентификатора Apple ID.
- Выполните поиск нужных версий Xcode.
- Скачайте файл(ы)
.xip
. - Извлеките файлы, дважды щелкнув их.
- Переименуйте
Xcode.app
в папке Downloads на что-то более описательное (например,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.