Xcode 同步 (xcsync)

Xcode 同步 (xcsync) 是一种使开发人员能够利用 Xcode 来管理 .NET 项目中 Apple 特定文件的工具。 该工具根据 .NET 项目生成临时 Xcode 项目,并将对 Xcode 文件的更改同步回 .NET 项目。

支持的文件类型包括:

  • 资产目录
  • Plist
  • 情节提要
  • Xib

该工具有两个命令:generatesync。 使用 generate 根据 .NET 项目创建 Xcode 项目,并使用 sync 将 Xcode 项目中的更改带回 .NET 项目。

摘要

以下示例显示 generatesync 命令的语法。

xcsync-generate

dotnet build /t:xcsync-generate
    /p:xcSyncProjectFile=<PROJECT>
    /p:xcSyncXcodeFolder=<TARGET_XCODE_DIRECTORY>
    /p:xcSyncTargetFrameworkMoniker=<FRAMEWORK>
    /p:xcSyncVerbosity=<LEVEL>

xcsync-sync

dotnet build /t:xcsync-sync
    /p:xcSyncProjectFile=<PROJECT>
    /p:xcSyncXcodeFolder=<TARGET_XCODE_DIRECTORY>
    /p:xcSyncTargetFrameworkMoniker=<FRAMEWORK>
    /p:xcSyncVerbosity=<LEVEL>

参数

  • /p:xcSyncProjectFile=<PROJECT>

    要生成的项目文件。 受支持的项目类型包括 .NET MAUI 项目或面向受支持平台(iOS、tvOS、macOS、MacCatalyst)的任何 .NET 项目。

选项

以下选项允许更改工具的默认行为:

  • /p:xcSyncTargetFrameworkMoniker=<FRAMEWORK>

    为特定框架调用该工具。 必须在项目文件中定义该框架。 示例:net9.0-iosnet9.0-maccatalyst必需如果 .NET 项目支持多个目标框架 (例如,标准 MAUI 项目) 。 如果是单个平台项目,则默认值将是项目文件中指定的单个目标框架。

  • /p:xcSyncXcodeFolder=<TARGET_XCODE_DIRECTORY>

    放置生成的 Xcode 项目的目录。 默认路径为 ./obj/xcode

  • /p:xcSyncVerbosity=<LEVEL>

    设置命令的详细级别。 允许的值为 DetailedDiagnosticMinimalNormalQuiet。 默认值为 Normal

示例

  • 为使用当前目录中的项目文件(支持 net9.0-iosTFM)的 .NET MAUI 项目生成并打开 Xcode 项目:

    dotnet build /t:xcsync-generate /p:xcSyncTargetFrameworkMoniker=net9.0-ios
    
  • 为支持 net9.0-iosTFM 的 .NET MAUI 项目生成并打开 Xcode 项目:

    dotnet build /t:xcsync-generate /p:xcSyncProjectFile=path/to/maui.csproj /p:xcSyncTargetFrameworkMoniker=net9.0-ios
    
  • 将默认位置 (./obj/Xcode) 生成的 Xcode 项目中的更改同步回支持 net9.0-iosTFM 的 .NET MAUI 项目:

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