flutter:在调试模式下构建时运行 pod install 需要很长时间

问题描述 投票:0回答:8

使用 iphone 11 iOS-14 设备和模拟器,我删除了 flutter 应用程序的 podfile 和 podlock,并尝试在调试模式下重建应用程序,我正在使用最新的 firebase 依赖项,包括 cloud_firestore: ^0.14.1 依赖项,然后它得到卡在 pod install 上,花了很长时间才完成,已经超过半个小时了。

我想知道我是否应该等待更长时间,或者 firebase 依赖项是否有问题?

flutter dart google-cloud-firestore cocoapods ios14
8个回答
29
投票

Pod install 没有卡住,当你删除 Podfile.lock 时,pod install 会重新下载所有 pod 依赖,会花费很长时间,完成后会创建一个新的 Podfile.lock

我有一个项目,有 20 多个 flutter 依赖项,firebase 依赖项是最复杂的


3
投票

有时,“pod install”命令似乎要花很长时间,但它正在后台下载依赖项。

请尝试查看“活动监视器”网络选项卡以确认正在下载某些数据。

就我而言,我的 pod 依赖于 Firebase pod,因此大约需要 10 分钟才能完成我的依赖项。


1
投票

如果您花了 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 缓存


1
投票

官方文档推荐的方式如下:

可选:通过包含预编译框架来缩短 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

0
投票

在 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


0
投票

检查您的 Xcode 是否是最新的。 更新我的 Xcode 解决了我的问题。

我已经尝试了上述所有解决方案,但没有奏效。 仅更新 Xcode 有效。


0
投票

之前的评论是正确的,您只需等待 “正在运行 pod install...”和“正在运行 Xcode 构建...” 我附上了屏幕,我等了多久,你可以在那里找到:

  1. 运行 pod install...687.5 秒(11.4 分钟)
  2. 运行 Xcode 构建...1421.2 秒(23.6 分钟)

我希望这对像证明这样的人有帮助))

我没有添加这个:

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'

0
投票
  1. cd ios

  2. pod 缓存清理 --all

  3. 豆荚干净

  4. 豆荚分解 pod deintegrate result

  5. sudo gem install cocoapods-deintegrate cocoapods-clean cocoa deintegrate result

  6. sudo arch -x86_64 gem install ffi ffi result

  7. arch -x86_64 pod 存储库更新 pod repo update result

  8. gem 安装 cocoapods cocoapods install

  9. arch -x86_64 pod install(确保此处有互联网连接)

© www.soinside.com 2019 - 2024. All rights reserved.