Xcode 插件与 配置缓存 不兼容。

Xcode 插件生成用于 Xcode IDE 将 Gradle 项目打开到 Xcode 中(文件 - 打开…​)的文件。生成的 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 插件不允许对生成的文件进行任何自定义。