We added new opt-in inputs to help more iOS and React Native projects use Bitrise Build Cache successfully, even when Swift explicit modules cause build failures.
Highlights:
- New
no_swift_cacheinput: Available in Build Cache for Xcode and Build Cache for React Native. When set totrue, Bitrise caches only Clang / Objective-C / C++ compilation and leaves Swift uncached. - Helps projects that fail under Swift explicit modules: Some projects cannot build with Swift explicit modules enabled and fail with errors like
unable to resolve module dependency. Withno_swift_cache: "true", those projects can keep using Xcode compilation caching for non-Swift code instead of disabling Build Cache entirely. - Especially useful for some React Native apps: React Native projects are a common case here, where Swift caching can be blocked by module resolution issues even though Objective-C/C++ caching still provides value.
- New
cache_skip_flagsinput on the React Native step: This input is now exposed on Build Cache for React Native. It skips passing cache-related build settings toxcodebuildexcept the socket path, so projects can manage cache settings themselves. - No behavior change by default: Both new inputs default to
false, so existing workflows are unaffected unless you explicitly turn them on.
What you need to do
- If your Xcode or React Native build fails with Swift module dependency errors when Build Cache is enabled, try setting
no_swift_cache: "true"on the relevant Step. - If your project already manages its own Xcode cache-related build settings and you only want Bitrise to provide the cache socket connection, you can now use
cache_skip_flags: "true"on the React Native Step as well. - If your project builds fine today, leave these inputs off.
no_swift_cacheis a targeted workaround, not a recommended default, since enabling it disables Swift caching.
Available in
- Build Cache for Xcode
@0 - Build Cache for React Native
@0
Bottom line: These new inputs give Xcode and React Native teams more flexibility, helping projects with Swift explicit module issues keep using Build Cache where it still delivers value, without changing behavior for existing workflows.
