Sincronización de Xcode (xcsync)
La sincronización de Xcode (xcsync) es una herramienta que permite a los desarrolladores aprovechar Xcode para administrar archivos específicos de Apple con proyectos de .NET. La herramienta genera un proyecto de Xcode temporal a partir de un proyecto de .NET y sincroniza los cambios en los archivos Xcode de nuevo en el proyecto de .NET.
Tipos de archivo admitidos:
- Catálogos de recursos
- Plist
- Guión gráfico
- Xib
La herramienta tiene dos comandos: generate
y sync
. Usa generate
para crear un proyecto de Xcode a partir de un proyecto de .NET y sync
para devolver los cambios en el proyecto de Xcode al proyecto de .NET.
Sinopsis
En los ejemplos siguientes se muestra la sintaxis de los comandos generate
y sync
.
Generada por xcsync
dotnet build /t:xcsync-generate
/p:xcSyncProjectFile=<PROJECT>
/p:xcSyncXcodeFolder=<TARGET_XCODE_DIRECTORY>
/p:xcSyncTargetFrameworkMoniker=<FRAMEWORK>
/p:xcSyncVerbosity=<LEVEL>
Sincronizada por xcsync
dotnet build /t:xcsync-sync
/p:xcSyncProjectFile=<PROJECT>
/p:xcSyncXcodeFolder=<TARGET_XCODE_DIRECTORY>
/p:xcSyncTargetFrameworkMoniker=<FRAMEWORK>
/p:xcSyncVerbosity=<LEVEL>
Argumentos
/p:xcSyncProjectFile=<PROJECT>
El archivo del proyecto que se va a compilar. Los tipos de proyecto admitidos son proyectos de .NET MAUI o cualquier proyecto de .NET que tenga como destino una plataforma compatible (iOS, tvOS, macOS, MacCatalyst).
Opciones
Las siguientes opciones permiten cambiar el comportamiento predeterminado de la herramienta:
/p:xcSyncTargetFrameworkMoniker=<FRAMEWORK>
Invoca la herramienta para un marco específico. El marco se debe definir en el archivo de proyecto. Ejemplos:
net9.0-ios
,net9.0-maccatalyst
. Obligatorio si el proyecto de .NET admite varias plataformas de destino (por ejemplo, un proyecto MAUI estándar). En un proyecto de una sola plataforma, el valor predeterminado será la plataforma de destino única especificada en el archivo del proyecto./p:xcSyncXcodeFolder=<TARGET_XCODE_DIRECTORY>
El directorio en el que se va a colocar el proyecto Xcode generado. La ruta de acceso predeterminada es ./obj/xcode.
/p:xcSyncVerbosity=<LEVEL>
Establece el nivel de detalle del comando. Los valores permitidos son
Detailed
,Diagnostic
,Minimal
,Normal
, yQuiet
. El valor predeterminado esNormal
.
Ejemplos
Genera y abre un proyecto de Xcode para un proyecto .NET MAUI que use el archivo de proyecto en el directorio actual, que admite el
net9.0-ios
TFM:dotnet build /t:xcsync-generate /p:xcSyncTargetFrameworkMoniker=net9.0-ios
Genera y abre un proyecto de Xcode para un proyecto .NET MAUI que admita el
net9.0-ios
TFM:dotnet build /t:xcsync-generate /p:xcSyncProjectFile=path/to/maui.csproj /p:xcSyncTargetFrameworkMoniker=net9.0-ios
Sincroniza los cambios de un proyecto de Xcode generado en la ubicación predeterminada (./obj/Xcode) a un proyecto .NET MAUI que admita el
net9.0-ios
TFM:dotnet build /t:xcsync-sync /p:xcSyncProjectFile=path/to/maui.csproj /p:xcSyncTargetFrameworkMoniker=net9.0-ios