我想在我的应用程序中使用 Firestore,但如果我将“FirebaseFirestoreSwift”添加到我的 podfile 中,则会收到 pod 安装/更新错误:
[!] 以下 Swift pod 尚无法集成为静态库:Swift pod
依赖于FirebaseFirestoreSwift
,不定义模块。选择加入那些 生成模块映射的目标(这是从以下位置导入它们所必需的) Swift 当构建为静态库时),你可以设置FirebaseFirestore
在 Podfile 中全局设置,或者指定use_modular_headers!
对于特定的依赖项。:modular_headers => true
所以我尝试了这个:
pod 'Firebase/Firestore'
pod 'FirebaseFirestoreSwift', :modular_headers => true
但是遇到了同样的错误,所以尝试了这个:
pod 'Firebase/Firestore', :modular_headers => true
pod 'FirebaseFirestoreSwift'
但仍然遇到同样的错误,所以尝试了这个:
use_modular_headers!
pod 'Firebase/Firestore'
pod 'FirebaseFirestoreSwift'
现在安装 Pod 时没有错误,但在构建时出现了以前不存在的新链接错误:
模块映射文件 '/Users/..../ios/Pods/Headers/Private/openssl_grpc/BoringSSL-GRPC.modulemap' 没有找到
该应用程序是一个 React Native 应用程序,必须添加 openssl_grpc 作为其中的一部分。
所以我的问题是,如果这样做会扰乱 React Native,如何将 FirebaseFirestoreSwift 添加到应用程序?
尝试
use_frameworks!
或use_frameworks! :linkage => :static
。
更多背景请访问 https://blog.cocoapods.org/CocoaPods-1.9.0-beta/
2024 年 5 月更新: 不再需要安装 import FirebaseFirestoreSwift。它的功能现已包含在 FirebaseFirestore 中。
我有同样的问题并添加了
use_frameworks!
,就像保罗已经发布的一样......这对我有用。
我的 podfile 现在看起来像这样。
target 'HiProject' do
use_frameworks!
pod 'Firebase'
pod 'Alamofire'
pod 'SwiftyJSON'
pod 'EAIntroView'
pod 'lottie-ios'
pod 'Firebase/Firestore'
pod 'Firebase/Auth'
pod 'FirebaseFirestoreSwift'
end
截至 2022 年 10 月,Xcode 14.0.1、RNFirebase 16.2.0 和 RN 0.66.4 对我有用:
target 'MyApp' do
# ...
# Add these two lines
pod 'GoogleUtilities', :modular_headers => true
pod 'FirebaseCore', :modular_headers => true
# ...
end