Xcode 插件生成供 Xcode IDE 使用的文件,用于在 Xcode 中打开 Gradle 项目(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 插件默认任务图

生命周期任务

xcode任务

依赖于: projectNameXcodeWorkspace 和所有 xcodeProject 任务

生成所有 Xcode 配置文件。

cleanXcode删除

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

移除所有 Xcode 配置文件。

openXcode - 任务

依赖于: xcode

在 IDE 中打开 Xcode 工作空间。

IDE 工作空间任务

xcodeWorkspaceWorkspaceSettings - 生成工作空间设置文件任务

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

xcodeWorkspace - 生成 Xcode 项目文件任务

依赖于: xcodeWorkspaceWorkspaceSettings

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

IDE 项目任务

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

xcodeProjectWorkspaceSettings生成工作空间设置文件任务

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

xcodeScheme生成 Scheme 文件任务

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

xcodeProject生成 Xcode 项目文件任务

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

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

配置

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