Xcode 插件生成的文件可供 Xcode IDE 用于在 Xcode 中打开 Gradle 项目(文件 - 打开...)。生成的 Xcode 项目将构建操作委托给 Gradle。

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

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

生成最小解决方案文件。

C++ 应用程序

向项目文件添加一个表示 C++ 应用程序的目标。

C++ 库

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

Swift 应用程序

向项目文件添加一个表示 Swift 应用程序的目标。

Swift 库

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

XCTest

向项目文件添加一个表示 XCTest 捆绑包的目标。

用法

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 - 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 插件不允许对生成的文件进行任何自定义。