Xcode 插件生成的文件供 Xcode IDE 使用,以将 Gradle 项目在 Xcode 中打开(File - Open…​)。生成的 Xcode 项目将构建操作委托给 Gradle。

`xcode` 插件具体生成什么取决于使用了哪些其他插件

表 1. Xcode 插件行为
插件 描述

生成最小解决方案文件。

C++ 应用程序

将表示 C++ 应用程序的目标添加到项目文件。

C++ 库

为每个指定的链接添加一个目标,表示共享和/或静态库到项目文件。

Swift 应用程序

将表示 Swift 应用程序的目标添加到项目文件。

Swift 库

为每个指定的链接添加一个目标,表示共享和/或静态库到项目文件。

XCTest

将表示 XCTest bundle 的目标添加到项目文件。

用法

build.gradle.kts
plugins {
    xcode
}
build.gradle
plugins {
    id 'xcode'
}

任务

Xcode 插件向您的项目添加了许多任务。您将使用的主要任务是 xcodecleanXcodeopenXcode 任务。

下图显示了此插件添加的任务之间的关系。

xcode task graph
图 1. Xcode 插件默认任务图

生命周期任务

xcodeTask

依赖于projectNameXcodeWorkspace 和所有 xcodeProject 任务

生成所有 Xcode 配置文件。

cleanXcodeDelete

依赖于:所有 Xcode 项目和工作区文件清理任务

移除所有 Xcode 配置文件。

openXcode - Task

依赖于xcode

在 IDE 内部打开 Xcode 工作区。

IDE 工作区任务

xcodeWorkspaceWorkspaceSettings - GenerateWorkspaceSettingsFileTask

生成 projectName.xcworkspace 文件。此任务仅在根项目上可用。

xcodeWorkspace - GenerateXcodeProjectFileTask

依赖于xcodeWorkspaceWorkspaceSettings

生成 projectName.xcworkspace 文件。此任务仅在根项目上可用。

IDE 项目任务

C++ 应用程序插件和 C++ 库插件都引入了相同的任务,用于生成要包含在 Xcode 工作区中的 Xcode 项目。

xcodeProjectWorkspaceSettingsGenerateWorkspaceSettingsFileTask

生成 projectName.xcodeproj/project.xcworkspace/xcshareddata/WorkspaceSettings.xcsettings 文件。

xcodeSchemeGenerateSchemeFileTask

生成 projectName.xcodeproj/xcshareddata/xcschemes/ProjectName.xcscheme 文件。

xcodeProjectGenerateXcodeProjectFileTask

依赖于xcodeProjectWorkspaceSettingsxcodeScheme(如果存在可构建的二进制文件)

生成 projectName.xcodeproj/project.pbxproj 文件。

配置

Xcode 插件不允许对生成的文件进行任何自定义。