与 Xcode 同步
xcsync 是一个 .NET 工具,使开发人员能够利用 Xcode 通过 .NET 项目管理 Apple 特定文件。 该工具根据 .NET 项目生成临时 Xcode 项目,并将对 Xcode 文件的更改同步回 .NET 项目。
支持的文件类型包括:
该工具有两个命令:generate
和 sync
。 使用 generate
根据 .NET 项目创建 Xcode 项目,并使用 sync
将 Xcode 项目中的更改带回 .NET 项目。
备注
由于与 Xcode 的交互,此工具仅适用于 macOS。
使用以下命令全局安装 .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仅在 macOS 上使用 Visual Studio Code 时,.NET MAUI 扩展中的命令才可用。
- 打开命令面板(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 项目或面向受支持平台(iOS、tvOS、macOS、MacCatalyst)的任何 .NET 项目。
-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>
.NET SDK 的路径。 默认值为父进程的路径(如果为 dotnet
路径),否则回退到 dotnet
PATH 上。
-h|--help
显示帮助和使用情况信息
为使用当前目录中的项目文件(支持 net9.0-ios
TFM)的 .NET MAUI 项目生成并打开 Xcode 项目:
xcsync generate -tfm net9.0-ios
为支持 net9.0-ios
TFM 的 .NET MAUI 项目生成并打开 Xcode 项目:
xcsync generate -p path/to/maui.csproj -tfm net9.0-ios
将默认位置($(IntermediateOutputPath)/中xcsync生成的 Xcode 项目的更改同步回支持 TFM 的 net9.0-ios
.NET MAUI 项目:
xcsync sync -p path/to/maui.csproj -tfm net9.0-ios
xcsync 是开放源代码。 有关详细信息或提出问题,请访问 https://github.com/dotnet/xcsync。