Skip to content

STRUCT

Workspace.GenerationOptions ​

Contents

  • Properties
    • enableAutomaticXcodeSchemes
    • autogeneratedWorkspaceSchemes
    • lastXcodeUpgradeCheck
    • renderMarkdownReadme
    • autogenerateLocalPodsProjects
    • autogenerateLocalPodsSchemes
    • commonSettings
    • configurations
    • suppressObjcDuplicateClassWarningsDuringPluginLoading
  • Methods
    • init(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:autogenerateLocalPodsProjects:autogenerateLocalPodsSchemes:commonSettings:configurations:suppressObjcDuplicateClassWarningsDuringPluginLoading:)
    • options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:autogenerateLocalPodsProjects:autogenerateLocalPodsSchemes:commonSettings:configurations:suppressObjcDuplicateClassWarningsDuringPluginLoading:)
swift
public struct GenerationOptions: Codable, Equatable

Generation options allow customizing the generation of the Xcode workspace.

Properties ​

enableAutomaticXcodeSchemes ​

swift
public var enableAutomaticXcodeSchemes: Bool?

Enable or disable automatic generation of schemes by Xcode.

autogeneratedWorkspaceSchemes ​

swift
public var autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes

Enable or disable automatic generation of Workspace schemes. If enabled, options to configure code coverage and test targets can be passed in via associated values.

lastXcodeUpgradeCheck ​

swift
public var lastXcodeUpgradeCheck: Version?

Allows to suppress warnings in Xcode about updates to recommended settings added in or below the specified Xcode version. The warnings appear when Xcode version has been upgraded. It is recommended to set the version option to Xcode's version that is used for development of a project, for example .lastXcodeUpgradeCheck(Version(13, 0, 0)) for Xcode 13.0.0.

renderMarkdownReadme ​

swift
public var renderMarkdownReadme: Bool

Allows to render markdown files inside the workspace including an .xcodesamples.plist inside it.

autogenerateLocalPodsProjects ​

swift
public var autogenerateLocalPodsProjects: AutogenerateLocalPodsProjects

Allows to integrate local podspecs as projects

autogenerateLocalPodsSchemes ​

swift
public var autogenerateLocalPodsSchemes: AutogenerateLocalPodsSchemes

Allow to autogenerate local podsschemes

commonSettings ​

swift
public let commonSettings: [CommonSettings]

Applies settings across several projects

configurations ​

swift
public var configurations: [String: BuildConfiguration.Variant]

Creates configurations for all projects

suppressObjcDuplicateClassWarningsDuringPluginLoading ​

swift
public var suppressObjcDuplicateClassWarningsDuringPluginLoading: Bool

Suppress objc class duplication warnings when loading plugins.

Methods ​

init(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:autogenerateLocalPodsProjects:autogenerateLocalPodsSchemes:commonSettings:configurations:suppressObjcDuplicateClassWarningsDuringPluginLoading:) ​

swift
public init(
    enableAutomaticXcodeSchemes: Bool?,
    autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes,
    lastXcodeUpgradeCheck: Version?,
    renderMarkdownReadme: Bool,
    autogenerateLocalPodsProjects: AutogenerateLocalPodsProjects,
    autogenerateLocalPodsSchemes: AutogenerateLocalPodsSchemes,
    commonSettings: [CommonSettings],
    configurations: [String: BuildConfiguration.Variant],
    // TODO: Remove default value in next major release
    suppressObjcDuplicateClassWarningsDuringPluginLoading: Bool = true
)

options(enableAutomaticXcodeSchemes:autogeneratedWorkspaceSchemes:lastXcodeUpgradeCheck:renderMarkdownReadme:autogenerateLocalPodsProjects:autogenerateLocalPodsSchemes:commonSettings:configurations:suppressObjcDuplicateClassWarningsDuringPluginLoading:) ​

swift
public static func options(
    enableAutomaticXcodeSchemes: Bool? = false,
    autogeneratedWorkspaceSchemes: AutogeneratedWorkspaceSchemes = .enabled(),
    lastXcodeUpgradeCheck: Version? = nil,
    renderMarkdownReadme: Bool = false,
    autogenerateLocalPodsProjects: AutogenerateLocalPodsProjects = .disabled,
    autogenerateLocalPodsSchemes: AutogenerateLocalPodsSchemes = .disabled,
    commonSettings: [CommonSettings] = [],
    configurations: [String: BuildConfiguration.Variant] = ["Debug": .debug, "Release": .release],
    suppressObjcDuplicateClassWarningsDuringPluginLoading: Bool = true
) -> Self