Closed
Description
Description
Environment
Item | Version |
---|---|
Xcode | 26.0 beta (17A5241e) |
macOS (release) | 15.0 Sonoma (23A4286) |
macOS (beta) | 16.0 Tahoe dev 1 |
Swift | 6.1 (swiftlang-6.1.0.12.1 clang-1500.0.40.1) |
Firebase iOS SDK | 11.15.0 (via Swift Package Manager) |
Project mix | Swift + Objective-C (no C++) |
Firebase packages | FirebaseAuth , FirebaseCrashlytics , FirebaseFirestore , FirebaseCore , FirebaseAnalytics , GoogleDataTransport , GoogleAppMeasurement , … |
Same project builds cleanly with Xcode 16.4 on both macOS 15 & 16.
Build failure after upgrading to Xcode 26 beta
…/ModuleCache.noindex/SwiftShims-XXXX.pcm:
C99 was enabled in PCH file but is currently disabled
missing required module ‘SwiftShims’
module file cannot be loaded due to a configuration mismatch
Probabel Minimal reproduction
- Add Firebase 11.15.0 via Swift Package Manager to any project.
- Open with Xcode 26 beta, Clean Build Folder, then Run.
- Build fails with the errors shown above (identical on macOS 15 & 16).
Log excerpt (first failing compile)
CompileC … -std=c99 …/GoogleDataTransport/GDTCORClock.m
# later in the same build:
C99 was enabled in PCH file but is currently disabled
This appears to stem from Firebase submodules such as GoogleDataTransport,
GoogleAppMeasurement, and FirebaseCrashlytics, which still inject
-std=c99 via unsafeFlags or define cLanguageStandard: .c99.
That forces Clang to build precompiled headers in C99, while the Swift toolchain
expects the default (gnu17), causing a mismatch and failing the build.
⸻
Notes
Attempts to override this by removing -std=c99 or replacing it with
cLanguageStandard: .gnu17 did not resolve the issue in practice.
⸻
Requested fix
Please revise the Package.swift definitions across affected Firebase packages
to stop enforcing -std=c99, or explicitly align with gnu17, so that
Swift’s importer doesn’t encounter a mismatch under the new toolchain.
Thanks!
### Reproducing the issue
_No response_
### Firebase SDK Version
Newest Major
### Xcode Version
Newest Xcode 26 Beta
### Installation Method
Swift Package Manager
### Firebase Product(s)
All
### Targeted Platforms
iOS
### Relevant Log Output
```shell
If using Swift Package Manager, the project's Package.resolved
Expand Package.resolved
snippet
Replace this line with the contents of your Package.resolved.
If using CocoaPods, the project's Podfile.lock
Expand Podfile.lock
snippet
Replace this line with the contents of your Podfile.lock!