xcsync — это средство .NET, позволяющее разработчикам использовать Xcode для управления конкретными файлами Apple с помощью проектов .NET. Средство создает временный проект Xcode из проекта .NET и синхронизирует изменения файлов Xcode обратно в проект .NET.
Важный
xcsync в настоящее время находится в предварительной версии.
Поддерживаемые типы файлов включают:
- Каталог активов
- Plist (список свойств)
- Раскадровка
- Xib
Средство имеет две команды: generate
и sync
. Используется generate
для создания проекта Xcode из проекта .NET и sync
внесения изменений в проект Xcode обратно в проект .NET.
Примечание.
Это средство доступно только для macOS из-за взаимодействия с Xcode.
Установка
Установите предварительную версию .NET xcsync глобально с помощью следующей команды:
dotnet tool install dotnet-xcsync -g --prerelease --add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json
Использование
- Расширение .NET MAUI обеспечивает поддержкуxcsync. Убедитесь, что у вас установлена последняя версия. Команды xcsync в расширении MAUI для .NET доступны только при использовании Visual Studio Code в macOS.
- Откройте палитру команд (Cmd + SHIFT+P) и найдите
.NET MAUI: xcsync - Generate an Xcode project
команды и .NET MAUI: xcsync - Sync from an Xcode project
выполните поиск.
Устранение неполадок
Чтобы просмотреть сведения об ошибках, связанных с xcsync, перейдите к окну вывода (Cmd + SHIFT+ U) и выберите .NET MAUI в xcsync раскрывающемся списке. Если у вас возникли проблемы, сообщите о проблеме.
Предоставление отзыва
Перед отправкой нового вопроса или предложения проверьте существующие известные проблемы .
Установка
Установите предварительную версию .NET xcsync глобально с помощью следующей команды:
dotnet tool install dotnet-xcsync -g --prerelease --add-source https://pkgs.dev.azure.com/dnceng/public/_packaging/dotnet9/nuget/v3/index.json
Краткие сведения
xcsync generate [-p|--project <PROJECT>]
[-tfm|--target-framework-moniker <FRAMEWORK>]
[-t|--target <TARGET_XCODE_DIRECTORY>] [-f|--force]
[-o|--open] [-v|--verbosity <LEVEL>]
[-d|--dotnet-path <PATH>]
xcsync sync [-p|--project <PROJECT>]
[-tfm|--target-framework-moniker <FRAMEWORK>]
[-t|--target <TARGET_XCODE_DIRECTORY>] [-v|--verbosity <LEVEL>]
xcsync -h|--help
Параметры
-p|--project <PROJECT>
Файл проекта для сборки. Поддерживаемые типы проектов — это проекты .NET MAUI или любой проект .NET, предназначенный для поддерживаемой платформы (iOS, tvOS, macOS, MacCatalyst).
-tfm|--target-framework-moniker <FRAMEWORK>
Вызов средства для определенной платформы. Платформа должна быть определена в файле проекта. Примеры: net9.0-ios
, net9.0-maccatalyst
.
Требуется, если проект .NET поддерживает несколько целевых платформ (например, проект .NET MAUI с несколькими целевыми объектами). Если проект одной платформы, значение по умолчанию будет одной целевой платформой, указанной в файле проекта.
-t|--target <TARGET_XCODE_DIRECTORY>
Каталог, в котором будет размещен созданный проект Xcode. Значение по умолчанию: (*_$(IntermediateOutputPath)_/xcsync*)
.
-f|--force
Принудительно перезаписывает существующий проект Xcode. Значение по умолчанию: False
.
-o|--open
Открывает созданный проект в Xcode. Значение по умолчанию: False
.
-v|--verbosity <LEVEL>
Задает уровень детализации команды. Допустимые значения: Detailed
, Diagnostic
, Minimal
Normal
, Quiet
. Значение по умолчанию: Normal
.
-d|--dotnet-path <PATH>
Путь к пакету SDK для .NET. Значение по умолчанию — путь из родительского процесса, если он есть dotnet
, в противном случае возвращается к dotnet
PATH.
-h|--help
Отображает справку и сведения об использовании.
Примеры
Создайте и откройте проект Xcode для проекта .NET MAUI, использующего файл проекта в текущем каталоге, который поддерживает net9.0-ios
TFM:
xcsync generate -tfm net9.0-ios
Создайте и откройте проект Xcode для проекта .NET MAUI, поддерживающего net9.0-ios
TFM:
xcsync generate -p path/to/maui.csproj -tfm net9.0-ios
Синхронизация изменений из созданного проекта Xcode в расположении по умолчанию ($(xcsync) обратно в проект .NET MAUI, поддерживающий net9.0-ios
:
xcsync sync -p path/to/maui.csproj -tfm net9.0-ios
xcsync имеет открытый исходный код. Дополнительные сведения о проблеме см. в статье https://github.com/dotnet/xcsync.