Flutter:CocoaPods 找不到 pod“Firebase/Messaging”的兼容版本
Posted
技术标签:
【中文标题】Flutter:CocoaPods 找不到 pod“Firebase/Messaging”的兼容版本【英文标题】:Flutter: CocoaPods could not find compatible versions for pod "Firebase/Messaging" 【发布时间】:2021-07-23 00:07:36 【问题描述】:我正在尝试在 ios 模拟器上运行 Flutter,在执行 flutter run
时出现下一个错误:
[!] CocoaPods 找不到 pod“Firebase/Messaging”的兼容版本: 在 Podfile 中: firebase_messaging(来自
.symlinks/plugins/firebase_messaging/ios
)被解析为9.1.3,这取决于 Firebase/消息 (= 7.11.0) 您的所有规范源都不包含满足依赖项的规范:Firebase/Messaging (= 7.11.0)
。
有人知道为什么会这样吗?
如果尝试会怎样:
-
Flutter clean + flutter pug get
删除 de iOS 文件夹然后
flutter create .
在 iOS 文件夹中删除 Pods
文件和 Podfile.dock
然后 pod init
+ pod install
导致同样的错误
我正在使用的包
cupertino_icons: ^1.0.2 cross_connectivity:^3.0.2 加密:^3.0.1 device_info_plus:^1.0.1 加密:^5.0.0 firebase_analytics:^8.0.2 firebase_core:^1.1.0 firebase_crashlytics:^2.0.2 firebase_messaging:^9.1.3 flutter_barcode_scanner: ^2.0.0 flutter_card_swipper: ^0.4.0 flutter_easyloading:^3.0.0 flutter_local_notifications:^5.0.0+1 flutter_speed_dial:^3.0.5 fluttertoast:^8.0.3 http: ^0.13.2 图片:^3.0.2 image_picker:^0.7.4 国际:^0.17.0 位置:^4.1.1 mime_type: ^1.0.0 path_provider:^2.0.1 permission_handler: ^6.1.3 shared_preferences:^2.0.4 sqflite: ^2.0.0+3 url_launcher: ^6.0.3 webview_flutter: ^2.0.4配置
iOs 部署目标 12.1 颤振 2.0.4flutter doctor -v
结果 -> 全部为绿色
在Github 上创建新问题之前,我更愿意在这里提问 如果这发生在其他人身上,那么我将在 Github 上创建一个新问题。
【问题讨论】:
您尝试过 iOS 文件夹中的 pod update 吗? 【参考方案1】:在使用带有 M1 芯片的 Mac 时可能会出现此问题。
首先解决“pod repo update”错误时会解决“CocoaPods could not find compatible versions for pod "Firebase/Messaging”错误。
我尝试了不同的解决方案,但对我有用的解决方案如下。 后续步骤:
-
在终端运行:
sudo arch -x86_64 gem install ffi
在 ios 项目文件夹上运行:arch -x86_64 pod install --repo-update
而不是 pod repo update
(以防万一在此步骤之前删除 Podfile.lock)
现在您的构建应该会成功,请按 F5。
Github 上提到了更多解决方案。
我终于在comment找到了我的。
【讨论】:
【参考方案2】:我能够通过将目标 iOS 平台更新为 10.0
来解决类似的错误。将 Podfile 中配置的平台更新为platform :ios, '10.0'
。我还必须将 iOS 部署目标更新为 10.0 - 位于 Runner > Info > Deployment Target
之后,使用 rm -rf Podfile.lock
删除 Podfile.lock 然后运行 pod update
和 pod install
为我解决了这个问题。
【讨论】:
【参考方案3】:您应该使用
更新可可主存储库pod repo update
然后
pod install
再次
【讨论】:
【参考方案4】:pod update Firebase/Messaging
帮我搞定
【讨论】:
【参考方案5】:不要指定 firebase_messaging 版本
firebase_messaging: // remove version from here
【讨论】:
【参考方案6】:试试这个:
firebase_core: null
firebase_crashlytics: null
firebase_messaging: null
【讨论】:
再次执行清理步骤后的事件: - Flutter clean + flutter pug get - 删除 de iOS 文件夹,然后 flutter create 。 - 在 iOS 文件夹中删除 Pods 文件和 Podfile.dock 然后 pod init + pod install 即使在那之后。似乎问题是由“/Library/Ruby/Gems/2.6.0/gems/ffi-1.15.0/lib/ffi_c.bundle - 中缺少兼容的拱门”引起的。在 iOs 文件夹上运行pod repo update
时可以看到此错误。我仍在寻找解决方案。解决“pod repo update”错误后,我们将知道第一个问题是否解决。【参考方案7】:
而不是 pod repo 更新
arch -x86_64 pod install --repo-update
【讨论】:
以上是关于Flutter:CocoaPods 找不到 pod“Firebase/Messaging”的兼容版本的主要内容,如果未能解决你的问题,请参考以下文章
Flutter CocoaPods 找不到 pod“FirebaseCore”的兼容版本
Flutter IOS:CocoaPods 找不到 pod“simple_permissions”的兼容版本:
Flutter CocoaPods 找不到兼容版本:Cache 和 BetterPlayer
CocoaPods 找不到 pod“Capacitor”的兼容版本