Xcode 15.2 で Firebase 12 が使えない(Swift 6.0 必須):Firebase 11.4.0 と AdMob 11.5.0 に固定した理由

English version

トレカダッシュ 開発の記録 / 2026年10月

iOS アプリ「トレカダッシュ」は、2017 年の古い Mac で、Xcode 15.2 を使って作っています。この環境では、Firebase の iOS SDK と、AdMob(Google Mobile Ads)の SDK を、新しい版にすると、ビルドできません。どの版から使えなくなって、どの版に固定したのか。開発の引き継ぎ記録(2026年7月)に残っている内容で書きます。

このサイトには、トレカダッシュの作品ページがあります(トレカダッシュ)。ここに書くのは、開発の記録です。版の番号は、2026 年 7 月の時点のもので、いまの最新版では、事情が違うかもしれません。

開発の環境

Firebase:11.4.0 に固定した

Firebase の iOS SDK は、版が上がるほど、新しい Xcode を要求します。記録には、次のように残っています。

Firebase の版起きること
12.0.0 以降Swift 6.0 のツールチェーン(Xcode 16.2 以降)が必須
11.12.0 以降同じく Xcode 16.2 が必須
11.5.0 〜FirebaseDataEncoder.swift のバグ(Firebase の Issue #15029)
11.4.0安定して動くことを確認

そこで、Swift Package Manager の指定を、Exact Version(その版ぴったり)で 11.4.0 にしました。Xcode は、最新の版を提案してきますが、それには従いません。

ここで、混乱しやすい点があります。Xcode Cloud(クラウド側のビルド)は、最新の Xcode で動きます。ただ、固定の設定はそのまま維持されるので、クラウド側でも、問題なくビルドが成功しています。つまり、手元の古い Xcode に合わせて固定しておけば、クラウド側の新しい Xcode でも、同じ版で通ります。

AdMob:11.5.0 に固定した

AdMob の SDK(swift-package-manager-google-mobile-ads)も、同じ理由で、11.5.0 に固定しました(2026 年 7 月 22 日)。

将来、Xcode を新しくして、版を上げるときは、版の番号だけでなく、クラス名の書き換えも、必要になります。記録に、そう書き残してあります。

同じ環境の人に、伝えたいこと

  1. 固定は、「Exact Version」で。「この版以降」の指定のままだと、Xcode が、使えない新しい版を、選んでしまいます。
  2. 「どの版から壊れるか」を、版の番号で書いておく。数か月後に、自分が、なぜ固定したかを忘れても、理由が分かります。
  3. 手元の環境の制約は、クラウドでは、緩められる。実機の確認は、Xcode Cloud と TestFlight を通せば、古い Mac でも続けられます(ただし、無料枠には、上限があります。TestFlight にビルドが来ない件を、参考にしてください)。

確認できていないこと

この記事の版の番号は、2026 年 7 月の記録のものです。その後に出た版で、Xcode 15.2 の制約が、どうなっているかは、確かめていません。「この版以降は使えない」という境目は、その時点での、ビルドの結果です。

この話に出てくるもの

ほかの記録

コメント

感想や、記事の間違いの指摘は、ここへ。書くには、GitHub のアカウントが要ります。

押すと、giscus(giscus.app)と GitHub に接続します。押さなければ、接続しません。詳しくはあつかいに書いています。