Compartir a través de


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, y Quiet. El valor predeterminado es Normal.

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-iosTFM:

    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-iosTFM:

    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-iosTFM:

    dotnet build /t:xcsync-sync /p:xcSyncProjectFile=path/to/maui.csproj /p:xcSyncTargetFrameworkMoniker=net9.0-ios