Firebase 12 does not work with Xcode 15.2 (Swift 6.0 required): why I pinned Firebase 11.4.0 and AdMob 11.5.0

日本語版

Development log of Torecadash / October 2026

I build my iOS app, Torecadash, on a 2017 Mac with Xcode 15.2. In this environment, newer versions of the Firebase iOS SDK and the AdMob (Google Mobile Ads) SDK do not build. This is which version breaks and which version I pinned, written from my hand-over notes (July 2026).

The version numbers are as of July 2026. The situation may be different with the latest versions today.

The environment

Firebase: pinned to 11.4.0

The newer the Firebase iOS SDK, the newer the Xcode it requires. My notes recorded this:

Firebase versionWhat happens
12.0.0 and laterRequires a Swift 6.0 toolchain (Xcode 16.2 or later)
11.12.0 and laterAlso requires Xcode 16.2
11.5.0 onwardA bug in FirebaseDataEncoder.swift (Firebase issue #15029)
11.4.0Confirmed to work reliably

So I set the Swift Package Manager rule to Exact Version 11.4.0. Xcode keeps suggesting the latest version, and I do not follow it.

One point is easy to get confused about. Xcode Cloud (the cloud build) runs the latest Xcode, but the pinned setting is kept as it is, so cloud builds succeed without trouble. If you pin to suit the old local Xcode, the same version also builds on the newer Xcode in the cloud.

AdMob: pinned to 11.5.0

For the same reason, I pinned the AdMob SDK (swift-package-manager-google-mobile-ads) to 11.5.0 (July 22, 2026).

When I upgrade Xcode and raise the version later, I will need to rewrite the class names, not only change the version number. I left that in my notes.

What I would tell someone in the same situation

  1. Pin with “Exact Version.” With an “up to next” rule, Xcode picks a newer version you cannot use.
  2. Write down “from which version it breaks,” with version numbers. A few months later, when you have forgotten why you pinned, the reason is still there.
  3. The limits of your local environment can be relaxed in the cloud. You can keep testing on a real device through Xcode Cloud and TestFlight even with an old Mac. (The free tier has a monthly limit, though. See builds not arriving in TestFlight, in Japanese.)

What I have not verified

The version numbers in this article come from my July 2026 notes. I have not checked what the Xcode 15.2 constraints look like with versions released since. The “breaks from this version” boundaries are the build results at that time.

This is the English version of the original Japanese article.

More in English