The XcodeGen SwiftUI app template is incomplete for current Xcode defaults. New app projects need these settings declared in the template source of truth so users do not have to repair generated projects manually.
Required defaults:
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES
LOCALIZATION_PREFERS_STRING_CATALOGS = YES
STRING_CATALOG_GENERATE_SYMBOLS = YES
SWIFT_EMIT_LOC_STRINGS = YES
- Keep
ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon and DEAD_CODE_STRIPPING = YES.
Affected templates:
plugins/apple-dev-skills/templates/xcodegen/swiftui-app/Configurations/Shared.xcconfig.tmpl
plugins/apple-dev-skills/templates/xcodegen/swiftui-app/Configurations/App.xcconfig.tmpl
- Review
project.yml.tmpl and bootstrap tests/docs to ensure every generated app gets an asset catalog and a default Localizable.xcstrings.
Evidence from NyextStepOfficeTower:
- The generated project already contained the asset-symbol and dead-code settings, but omitted the String Catalog settings.
- After adding the missing settings, Xcode generated both
GeneratedAssetSymbols.swift and GeneratedStringSymbols_Localizable.swift during xcodebuild test.
Acceptance criteria:
- A newly bootstrapped macOS app has all settings above via checked-in XcodeGen/.xcconfig source, not a manual
.pbxproj override.
xcodebuild -showBuildSettings reports every listed setting as YES.
- Bootstrap validation verifies generated asset and string symbol sources.
This is a repeat regression: it needs a testable template contract, not an ad-hoc project fix.
The XcodeGen SwiftUI app template is incomplete for current Xcode defaults. New app projects need these settings declared in the template source of truth so users do not have to repair generated projects manually.
Required defaults:
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YESLOCALIZATION_PREFERS_STRING_CATALOGS = YESSTRING_CATALOG_GENERATE_SYMBOLS = YESSWIFT_EMIT_LOC_STRINGS = YESASSETCATALOG_COMPILER_APPICON_NAME = AppIconandDEAD_CODE_STRIPPING = YES.Affected templates:
plugins/apple-dev-skills/templates/xcodegen/swiftui-app/Configurations/Shared.xcconfig.tmplplugins/apple-dev-skills/templates/xcodegen/swiftui-app/Configurations/App.xcconfig.tmplproject.yml.tmpland bootstrap tests/docs to ensure every generated app gets an asset catalog and a defaultLocalizable.xcstrings.Evidence from NyextStepOfficeTower:
GeneratedAssetSymbols.swiftandGeneratedStringSymbols_Localizable.swiftduringxcodebuild test.Acceptance criteria:
.pbxprojoverride.xcodebuild -showBuildSettingsreports every listed setting asYES.This is a repeat regression: it needs a testable template contract, not an ad-hoc project fix.