The metallib generated for static frameworks with .metal files does not respect Metal-related build settings like MTL_ENABLE_DEBUG_INFO because Tuist creates a separate resource bundle target for these files. This bundle target does not inherit custom build settings from the static framework—only minimal defaults like disabling code signing and installation are set. As a result, Metal build settings on the framework are ignored, and you can’t debug shaders unless you explicitly set those settings on the generated bundle target itself. This is a known limitation in how Tuist currently handles resource bundles for static frameworks, and a common workaround is to use a normal framework with MACH_O_TYPE set to staticlib and manage resource access manually, which allows Metal build settings to be respected community discussion ResourcesProjectMapper.swift.
To ensure MTL_ENABLE_DEBUG_INFO is respected, you need to set it directly on the generated bundle target in your project definition. There is ongoing discussion about improving this behavior, but for now, explicit configuration is required.
To reply, just mention @dosu.
Docs are dead. Just use Dosu.