A feature to generate assets references (known as R.), has been added in Xcode 15:
Xcode now generates Swift and Objective-C symbols for each color and image in the asset catalog. These symbols provide a safer, more assistive way to reference assets that’s resilient to renames & typos, leverages compiler type checking, and integrates with code completion.
In the producer's post_build phase, the generated .swift file is not listed as a dependency
on the consumer side, an unknown input file is reported and fallbacking to the local compilation happens
A quick investigation shows that generating GeneratedAssetSymbols.swift and GeneratedAssetSymbols.h happens after the prebuild step so these files cannot be considered in the prebuild phase to decide if a cached artifact is reusable or not, even if we add those 2 files (GeneratedAssetSymbols.{swift|h}) to the list of dependencies
My integration setup
xcprepare integrate ...
Expected/desired behavior
If a target has
.xcassets
, a target should still be cacheableMinimal reproduction of the problem with instructions
StandaloneApp
) had a cache missConsumer Logs
Environment
Others
A feature to generate assets references (known as R.), has been added in Xcode 15:
post_build
phase, the generated.swift
file is not listed as a dependencyGeneratedAssetSymbols.swift
andGeneratedAssetSymbols.h
happens after the prebuild step so these files cannot be considered in the prebuild phase to decide if a cached artifact is reusable or not, even if we add those 2 files (GeneratedAssetSymbols.{swift|h}) to the list of dependencies