Skip to content

apple-dev-skills: include catalog symbol defaults in XcodeGen app template #176

Description

@gaelic-ghost

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions