fix(plugin): prevent app icon inheritance in widget extension build settings #55
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.
Summary
This PR fixes a build failure that occurs when using Voltra with Expo projects that use the
.iconformat (Xcode 16+ Icon Composer) for app icons.Fixes #39
Problem
When an Expo project sets its app icon using the modern
.iconformat, Expo configuresASSETCATALOG_COMPILER_APPICON_NAMEat the project level. This build setting gets inherited by the widget extension target that Voltra creates. Since the extension's asset catalog doesn't contain this icon, the build fails with:Solution
Explicitly set
ASSETCATALOG_COMPILER_APPICON_NAME = ""in the widget extension's build settings. This overrides the inherited project-level value and tells Xcode not to compile any app icon for this target.Why This Is Safe
APPLICATION_EXTENSION_API_ONLYandCODE_SIGN_ENTITLEMENTS..appiconsetformat will not be affected; the empty string simply ensures no icon compilation happens (which is correct for extensions).Testing
.iconformatnpm test- 186 tests)npm run lint:libOnly)Workaround Reference
For users who need an immediate fix before this PR is merged, I've documented a workaround using a custom Expo config plugin in issue #39.