New Build Cache step inputs for Xcode and React Native

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_cache input: Available in Build Cache for Xcode and Build Cache for React Native. When set to true, 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. With no_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_flags input on the React Native step: This input is now exposed on Build Cache for React Native. It skips passing cache-related build settings to xcodebuild except 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_cache is 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.