使用 iphone 11 iOS-14 设备和模拟器,我删除了 flutter 应用程序的 podfile 和 podlock,并尝试在调试模式下重建应用程序,我正在使用最新的 firebase 依赖项,包括 cloud_firestore: ^0.14.1 依赖项,然后它得到卡在 pod install 上,花了很长时间才完成,已经超过半个小时了。
我想知道我是否应该等待更长时间,或者 firebase 依赖项是否有问题?
Pod install 没有卡住,当你删除 Podfile.lock 时,pod install 会重新下载所有 pod 依赖,会花费很长时间,完成后会创建一个新的 Podfile.lock
我有一个项目,有 20 多个 flutter 依赖项,firebase 依赖项是最复杂的
有时,“pod install”命令似乎要花很长时间,但它正在后台下载依赖项。
请尝试查看“活动监视器”网络选项卡以确认正在下载某些数据。
就我而言,我的 pod 依赖于 Firebase pod,因此大约需要 10 分钟才能完成我的依赖项。
如果您花了 20-30 分钟的时间进行 pod install,但它似乎永远卡住了(可能安装了 firebase 依赖项,然后在不同的计算机上运行相同的项目)。然后还有其他解决方法。
清理缓存并发布你的依赖项
flutter clean
flutter pub get
从终端导航到您的 ios 文件夹
cd ios
移除后备箱
pod repo remove trunk
如果您当前安装的是英特尔芯片 Mac,请运行以下代码
pod install --repo-update
如果您的安装是在M1芯片设备中,请先安装ffi
sudo arch -x86_64 gem install ffi
然后更新POD
arch -x86_64 pod install --repo-update
现在清理并获取依赖项
flutter clean
flutter pub get
如果您遇到类似下面的错误
[!] CocoaPods could not find compatible versions for pod "cloud_firestore":
In Podfile:
cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)
Specs satisfying the `cloud_firestore (from `.symlinks/plugins/cloud_firestore/ios`)` dependency were found, but they required a higher minimum deployment target.
[!] Automatically assigning platform `iOS` with version `9.0` on target `Runner` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
然后转到 podfile,取消注释 platmform:ios 行并更新它
platform :ios, '12.0'
现在重新运行命令
arch -x86_64 pod install --repo-update
不要忘记使用 flutter clean 清理 pub 缓存
官方文档推荐的方式如下:
可选:通过包含预编译框架来缩短 iOS 和 macOS 的构建时间。 目前,适用于 iOS 的 Firestore SDK 依赖于在 Xcode 中构建可能需要 5 分钟以上的代码。为了显着减少构建时间,您可以通过将此行添加到 Podfile 中的目标“Runner”do 块来使用预编译版本:
target 'Runner' do
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '8.15.0'
# ...
end
此外,请确保您已将 CocoaPods 升级到 1.9.1 或更高版本:
gem install cocoapods
在 Podfile 中的 target 'Runner' do 下添加此行。
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag =>“6.33.0”
然后在IOS中:
flutter clean
pod repo update
了解更多信息:https://github.com/FirebaseExtended/flutterfire/issues/2751
检查您的 Xcode 是否是最新的。 更新我的 Xcode 解决了我的问题。
我已经尝试了上述所有解决方案,但没有奏效。 仅更新 Xcode 有效。
之前的评论是正确的,您只需等待 “正在运行 pod install...”和“正在运行 Xcode 构建...” 我附上了屏幕,我等了多久,你可以在那里找到:
我希望这对像证明这样的人有帮助))
我没有添加这个:
target 'Runner' do
pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '8.15.0'
# ...
end
也许会更快,也有人评论过:
# Uncomment this line to define a global platform for your project
# platform :ios, '11.0'