我们最近将 Firebase 集成到了 React Native Expo 项目中,但现在我们的构建管道在 CocoaPods 安装步骤中失败了。
我们遇到的错误是:
[!] 以下 Swift Pod 尚无法集成为静态库: Swift pod
依赖于FirebaseCoreInternal
,它不定义模块。要选择那些生成模块映射的目标(在构建为静态库时需要从 Swift 导入它们),您可以在 Podfile 中全局设置GoogleUtilities
,或者为特定依赖项指定use_modular_headers!
。:modular_headers => true
为了解决此问题,我们更新了 app.json 以包含以下配置:
{
"expo": {
"plugins": [
[
"expo-build-properties",
{
"ios": {
"useFrameworks": "static"
}
}
]
]
}
}
这在本地构建上完美运行,但是当在我们的 Azure 管道上运行构建时,它会失败并出现相同的 CocoaPods 错误。
我们也尝试将这些添加到我们的 pod 文件中,但似乎没有任何影响
pod 'Firebase/Analytics'
pod 'Firebase/Auth'
pod 'Firebase/Messaging'
pod 'GoogleUtilities', :modular_headers => true
有人遇到过类似的问题,或者有人对如何解决 CI 管道的这个问题有建议吗?
任何帮助将不胜感激!
Firebase 的最新版本要求 Podfile 包含
use_frameworks!
或 use_frameworks! :linkage => :static
https://firebase.google.com/support/release-notes/ios#version_900_-_may_3_2022