From f38b276cdc075e53202c7b1e53df5c49b8a46f8e Mon Sep 17 00:00:00 2001 From: alex-vance Date: Fri, 30 Jan 2026 14:20:09 -0800 Subject: [PATCH] fix(plugin): prevent app icon inheritance in widget extension build settings Widget extensions (Live Activities, Home Screen Widgets) don't display app icons. When the parent Expo project sets ASSETCATALOG_COMPILER_APPICON_NAME at the project level (especially when using the .icon format from Xcode 16+), this setting gets inherited by the widget extension target. Since the extension's asset catalog doesn't contain the icon, the build fails with: "None of the input catalogs contained a matching app icon set named 'X'" This fix explicitly sets ASSETCATALOG_COMPILER_APPICON_NAME = "" on the widget extension target, which overrides the inherited value and tells Xcode not to compile any app icon for this target. This is safe because: - Widget extensions never display app icons in any iOS context - Setting to empty string is the canonical way to opt-out of icon compilation - This follows the same pattern Voltra already uses for other build settings (e.g., APPLICATION_EXTENSION_API_ONLY, CODE_SIGN_ENTITLEMENTS) Fixes #39 --- plugin/src/features/ios/xcode/build/configurationList.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/plugin/src/features/ios/xcode/build/configurationList.ts b/plugin/src/features/ios/xcode/build/configurationList.ts index 55b93d8..971f751 100644 --- a/plugin/src/features/ios/xcode/build/configurationList.ts +++ b/plugin/src/features/ios/xcode/build/configurationList.ts @@ -43,6 +43,7 @@ export function addXCConfigurationList(xcodeProject: XcodeProject, options: AddC SWIFT_OPTIMIZATION_LEVEL: `"-Onone"`, CODE_SIGN_ENTITLEMENTS: `"${targetName}/${targetName}.entitlements"`, APPLICATION_EXTENSION_API_ONLY: '"YES"', + ASSETCATALOG_COMPILER_APPICON_NAME: '""', } // Synchronize code signing settings from main app target