Flutter: CocoaPods 的 specs 仓库太过时了,无法满足依赖性

目前,我正在尝试添加 firebase_core: ^0.5.0+1firebase_crashlytics: ^0.2.1+1软件包在我的 flutter 项目与最新版本,它的工作没有任何问题,在安卓系统,但在 iOS,它不工作,并给出错误。那么现在如何运行我的项目与最新的软件包在 iOSFlutter 项目?

我也尝试了 pod repo update,但它仍然不工作

我在 flutter run上得到这个错误

CocoaPods' output:
↳
Preparing


Analyzing dependencies


Inspecting targets to integrate
Using `ARCHS` setting to build architectures of target `Pods-Runner`: (``)


Finding Podfile changes
A firebase_crashlytics
- Flutter
- contact_picker
- device_info
- file_picker
- firebase_auth
- firebase_core
- firebase_messaging
- flutter_keyboard_visibility
- flutter_local_notifications
- flutter_webview_plugin
- image_picker
- path_provider
- phone_number
- share
- shared_preferences
- sqflite
- url_launcher


Fetching external sources
-> Fetching podspec for `Flutter` from `Flutter`
-> Fetching podspec for `contact_picker` from `.symlinks/plugins/contact_picker/ios`
-> Fetching podspec for `device_info` from `.symlinks/plugins/device_info/ios`
-> Fetching podspec for `file_picker` from `.symlinks/plugins/file_picker/ios`
-> Fetching podspec for `firebase_auth` from `.symlinks/plugins/firebase_auth/ios`
firebase_auth: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
-> Fetching podspec for `firebase_core` from `.symlinks/plugins/firebase_core/ios`
firebase_core: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
-> Fetching podspec for `firebase_crashlytics` from `.symlinks/plugins/firebase_crashlytics/ios`
firebase_crashlytics: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
-> Fetching podspec for `firebase_messaging` from `.symlinks/plugins/firebase_messaging/ios`
firebase_messaging: Using Firebase SDK version '6.26.0' defined in 'firebase_core'
-> Fetching podspec for `flutter_keyboard_visibility` from `.symlinks/plugins/flutter_keyboard_visibility/ios`
-> Fetching podspec for `flutter_local_notifications` from `.symlinks/plugins/flutter_local_notifications/ios`
-> Fetching podspec for `flutter_webview_plugin` from `.symlinks/plugins/flutter_webview_plugin/ios`
-> Fetching podspec for `image_picker` from `.symlinks/plugins/image_picker/ios`
-> Fetching podspec for `path_provider` from `.symlinks/plugins/path_provider/ios`
-> Fetching podspec for `phone_number` from `.symlinks/plugins/phone_number/ios`
-> Fetching podspec for `share` from `.symlinks/plugins/share/ios`
-> Fetching podspec for `shared_preferences` from `.symlinks/plugins/shared_preferences/ios`
-> Fetching podspec for `sqflite` from `.symlinks/plugins/sqflite/ios`
-> Fetching podspec for `url_launcher` from `.symlinks/plugins/url_launcher/ios`


Resolving dependencies of `Podfile`
CDN: trunk Relative path: CocoaPods-version.yml exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_1_6_1.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.3.2/DKImagePickerController.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/1/6/1/DKImagePickerController/4.3.2/DKImagePickerController.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_0_3_5.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/3/5/Firebase/6.34.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_2_4_b.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/2/4/b/PhoneNumberKit/3.3.1/PhoneNumberKit.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/2/4/b/PhoneNumberKit/3.2.0/PhoneNumberKit.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_f_4_e.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/f/4/e/FMDB/2.7.5/FMDB.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/3/5/Firebase/6.26.0/Firebase.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_2_d_6.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/2/d/6/FirebaseMessaging/4.7.1/FirebaseMessaging.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/2/d/6/FirebaseMessaging/4.4.1/FirebaseMessaging.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_6_f_9.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/6/f/9/FirebaseAnalyticsInterop/1.5.0/FirebaseAnalyticsInterop.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_8_b_d.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/8/b/d/FirebaseCore/6.10.4/FirebaseCore.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_3_6_0.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/3/6/0/FirebaseInstanceID/4.8.0/FirebaseInstanceID.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_0_8_4.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/8/4/GoogleUtilities/6.7.2/GoogleUtilities.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_e_c_d.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/e/c/d/Protobuf/4.0.0-rc1/Protobuf.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/e/c/d/Protobuf/3.13.0/Protobuf.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_6_3_6.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/6/3/6/FirebaseAuth/6.9.2/FirebaseAuth.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/6/3/6/FirebaseAuth/6.5.3/FirebaseAuth.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_4_2_7.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/4/2/7/FirebaseAuthInterop/1.1.0/FirebaseAuthInterop.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_c_e_3.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/c/e/3/GTMSessionFetcher/1.4.0/GTMSessionFetcher.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/c/e/3/GTMSessionFetcher/1.4.0/GTMSessionFetcher.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_e_7_d.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/e/7/d/FirebaseCrashlytics/4.6.2/FirebaseCrashlytics.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/e/7/d/FirebaseCrashlytics/4.1.1/FirebaseCrashlytics.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_2_f_7.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/2/f/7/FirebaseInstallations/1.7.0/FirebaseInstallations.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_0_b_5.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/b/5/PromisesObjC/1.2.11/PromisesObjC.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_0_6_a.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/0/6/a/GoogleDataTransport/7.5.1/GoogleDataTransport.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_b_c_f.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/b/c/f/GoogleDataTransportCCTSupport/3.2.0/GoogleDataTransportCCTSupport.podspec.json exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: all_pods_versions_6_1_e.txt exists! Returning local because checking is only perfomed in repo update
CDN: trunk Relative path: Specs/6/1/e/nanopb/2.30906.0/nanopb.podspec.json exists! Returning local because checking is only perfomed in repo update
[!] CocoaPods could not find compatible versions for pod "GoogleDataTransport":
In snapshot (Podfile.lock):
GoogleDataTransport (= 7.4.0, ~> 7.4)


In Podfile:
firebase_crashlytics (from `.symlinks/plugins/firebase_crashlytics/ios`) was resolved to 0.2.1-1, which depends on
Firebase/Crashlytics (~> 6.26.0) was resolved to 6.26.0, which depends on
FirebaseCrashlytics (~> 4.1.1) was resolved to 4.1.1, which depends on
GoogleDataTransport (~> 6.1)




You have either:
* out-of-date source repos which you can update with `pod repo update` or with `pod install --repo-update`.
* changed the constraints of dependency `GoogleDataTransport` inside your development pod `firebase_crashlytics`.
You should run `pod update GoogleDataTransport` to apply changes you've made.


/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:328:in `raise_error_unless_state'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:310:in `block in unwind_for_conflict'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `tap'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:308:in `unwind_for_conflict'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:257:in `process_topmost_state'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolution.rb:182:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/molinillo-0.6.6/lib/molinillo/resolver.rb:43:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/resolver.rb:94:in `resolve'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/installer/analyzer.rb:1074:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/installer/analyzer.rb:1072:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/installer/analyzer.rb:124:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/installer.rb:414:in `analyze'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/installer.rb:239:in `block in resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/user_interface.rb:64:in `section'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/installer.rb:238:in `resolve_dependencies'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/installer.rb:160:in `install!'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/command/install.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/claide-1.0.3/lib/claide/command.rb:334:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/lib/cocoapods/command.rb:52:in `run'
/Library/Ruby/Gems/2.6.0/gems/cocoapods-1.10.0.rc.1/bin/pod:55:in `<top (required)>'
/usr/local/bin/pod:23:in `load'
/usr/local/bin/pod:23:in `<main>'


Error output from CocoaPods:
↳


[!] Automatically assigning platform `iOS` with version `10.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`.


Error: CocoaPods's specs repository is too out-of-date to satisfy dependencies.
To update the CocoaPods specs, run:
pod repo update


Error running pod install
Error launching application on iPhone 11 Pro.
97980 次浏览

这对我很有效:

  1. 飞得很干净
  2. Delete/ios/Pods 删除/ios/Pods
  3. Delete/ios/Podfile.lock
  4. 摇摆的酒吧
  5. 从内部 ios 文件夹: 吊舱安装
  6. 颤振跑

这为我工作,没有必要运行颤振干净

  1. 项目中的 goto ios 文件夹
  2. 移除 Podfile.lock
  3. 如果您的 Podfile过期或不存在,请运行 flutter pub get
  4. 在 IOS 文件夹下运行 pod install

如果您的 Run 文件夹没有/ios/Podfile.lock 你只需要在终端打开你的 IOS 文件夹 然后跑: $豆荚回收更新

我该怎么解决这个问题。

  1. 转到项目中的/ios 文件夹。

  2. 删除 Podfile.lock (YourPoject/ios/Podfile.lock)

  3. 运行 cmd pod repo remove trunk

现在你已经完全移除了豆荚。现在运行

在这里你必须根据你的 Mac 芯片来做,这里我已经为两者都给出了。谢谢@Kamal Panara 鉴定这个

英特尔芯片用户

Run pod install --repo-update

(确保你的 CD 进入 flutter 应用程序的 iOS 目录) M1芯片用户

使用以下命令在常规终端上首先安装 ffi (如果不是) :

sudo arch -x86_64 gem install ffi

那就跑吧

arch -x86_64 pod install --repo-update

注意,如果您得到的错误是

[!] 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 只需删除注释行,并使其类似如下。

platform :ios, '12.0'

现在重新运行这个 cmd。

arch -x86_64 pod install --repo-update

这次一定会成功的。

快跑

flutter clean

那么

flutter run.

好好享受。

对我来说,简单地删除 podfile.lock并用 flutter run重新运行就可以了。

试试下面的步骤,对我很有效:

  • 飞得很干净

  • Delete/ios/Pods 删除/ios/Pods

  • Delete/ios/Podfile.lock

在 IOS 文件夹中,运行以下命令:

pod install --repo-update

最后,执行以下操作:

flutter run

这个问题发生时,有一个不匹配的吊舱文件。

解决方案是由 Flutter 本身在调试控制台中指出的。 enter image description here

人们常犯的错误是直接在项目中运行命令。您必须在项目的 IOS 文件夹中运行它。

  1. 将终端的路径设置为 ios 文件夹。只需在项目路径后面添加 /ios
  2. 运行命令 pod repo update或者只运行 pod update

它会下载所有的依赖项并修复 pod 的所有问题。然后你就可以正常运行你的应用程序了。

这招对我很管用,

  1. 删除 Podfile.lock 文件
  2. 跑-> 摇摆酒吧到达终点站
  3. 运行-> arch-x86 _ 64 pod 安装在终端 之后,你就可以走了。

就我而言:

  1. 为 Mac 打开 android 工作室。
  2. 进入 ios 文件夹。
  3. 删除 podfile 和 podfile.lock
  4. 经营酒吧。
  5. 通过终端进入 ios 文件夹并运行“ pod install”。

enter image description here