XCode Indexing always use Debug configuration

I have found that XCode (14.3) Indexing always use the Debug configuration instead of honoring the Build Configuration set in the active scheme.

Here is what demonstrates the problem:

I have two XCode Configurations backed by xcconfig files which contains different SWIFT_ACTIVE_COMPILATION_CONDITIONS for building different edition (community and enterprise edition) of framework.

Here are the example of the two edition of the debug mode xcconfig files:

debug-comunity.xcconfig:

SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG COMMUNITY

debug-enterprise.xcconfig:

SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG ENTERPRISE

The project configuration is attached here.

In the project, I have set up two schemes that uses the two different set of configs.

Here is the screenshot of the MultipleConfigs-Enterprise scheme that uses enterprise config.

The SWIFT_ACTIVE_COMPILATION_CONDITIONS build settings is correct per the configuration.

In the XCode editor, the active scheme is set to MultipleConfigs-Enterprise which uses Debug-EE config as Build Configuration in Run. The Debug-EE config has ENTERPRISE preprocessor macro defined. The source code demonstrates the problem that the NAME variable is not found in the scope.

There is NO issue with build as Build is succeeded BUT XCode editor or indexing doesn't honor or select the right configuration.

How to get the XCode editor / indexing to use the right configuration as specified in the active scheme?

Add a Comment