Fix Swift Macros unresolved by the Xcode editor #5851
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Short description 📝
Under some scenarios, for example when not using conventionally-named configurations, the Xcode editor failed to recognize the Swift Macros, even if the build system compiled them successfully. To fix it, I replaced the
$BUILT_PRODUCTS_DIR
, which is the directory where we copy the Swift Macros executables into, by$(BUILD_DIR)/$(CONFIGURATION)
, which represents the source macOS directory where executables are output by default.I tested the changes with a project that contains Macros and configurations other than Debug and Release and the editor is able to resolve them successfully.
How to test the changes locally 🧐
You can take a project with Swift Macros, for example
fixtures/framework_with_native_swift_macro
, change the configuration names, and try to edit theFramework.swift
.Contributor checklist ✅
mise run lint:fix
Reviewer checklist ✅
changelog:added
,changelog:fixed
, orchangelog:changed
, and the title is usable as a changelog entry