满足 'firebase_admob' 的规范,但它们需要 Flutter 中更高的最小部署目标

Posted

技术标签:

【中文标题】满足 \'firebase_admob\' 的规范,但它们需要 Flutter 中更高的最小部署目标【英文标题】:Specs satisfying the 'firebase_admob', but they required a higher minimum deployment target in Flutter满足 'firebase_admob' 的规范,但它们需要 Flutter 中更高的最小部署目标 【发布时间】:2021-04-29 01:11:31 【问题描述】:

当使用firebase_admob: ^0.11.0+1 将 firebase_admob 更新到最新版本时,我的 Flutter 应用程序已停止工作,可能是 firebase 包之间存在冲突。我正在尝试为 ios 构建一个应用,但由于 cocoapods,flutter 运行失败:

我只是将 firebase 系列的两个软件包更新到最新版本。 我正在使用的包:

firebase_admob: ^0.11.0+1
firebase_crashlytics: ^0.4.0+1

这是pod install --repo-update的输出

Updating local specs repositories

CocoaPods 1.10.1 is available.
To update use: `sudo gem install cocoapods`

For more information, see https://blog.cocoapods.org and the CHANGELOG for this version at https://github.com/CocoaPods/CocoaPods/releases/tag/1.10.1

Analyzing dependencies
firebase_core: Using Firebase SDK version '7.3.0' defined in 'firebase_core'
firebase_crashlytics: Using Firebase SDK version '7.3.0' defined in 'firebase_core'
[!] CocoaPods could not find compatible versions for pod "firebase_admob":
  In Podfile:
    firebase_admob (from `.symlinks/plugins/firebase_admob/ios`)

Specs satisfying the `firebase_admob (from `.symlinks/plugins/firebase_admob/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`.

我的 iOS 设备出现了一些问题,但它在 android 上运行良好。我在安装 pod 时遇到错误

我已经使用颤振开发和主频道尝试过这个并且遇到了同样的问题。我目前正在使用大师。我已尝试删除我的 Pods 文件夹并重新运行 pod install 但没有人工作

这是flutter doctor -v的输出

[✓] Flutter (Channel stable, 1.22.5, on Mac OS X 10.15.7 19H2 darwin-x64, locale en-GB)
    • Flutter version 1.22.5 at /Users/mac/Development/flutter
    • Framework revision 7891006299 (7 weeks ago), 2020-12-10 11:54:40 -0800
    • Engine revision ae90085a84
    • Dart version 2.10.4

 
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
    • Android SDK at /Users/mac/Library/Android/sdk
    • Platform android-30, build-tools 30.0.3
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 12.0)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.0, Build version 12A7209
    • CocoaPods version 1.10.0

[!] Android Studio (version 4.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    ✗ Flutter plugin not installed; this adds Flutter specific functionality.
    ✗ Dart plugin not installed; this adds Dart specific functionality.
    • Java version OpenJDK Runtime Environment (build 1.8.0_242-release-1644-b3-6915495)

[✓] Connected device (1 available)
    • Paresh’s iPhone (mobile) • 49f62dac6f1da634e5d71981db4d591dc9126e4b • ios • iOS 13.3

! Doctor found issues in 1 category.

【问题讨论】:

【参考方案1】:

修复 CocoaPods 兼容版本

使用较新版本的 firebase 有时需要手动运行 pod update,之后它通常会找到构建所需的一切。

要解决此问题,请遵循以下命令

    转到Your_Project_Directory/ios/ pod repo update rm -f Podfile.lock pod update pod install 运行flutter run

修复需要更高的最小部署目标

您只需将 Xcode 中的 iOS 目标更新到至少 10.0。这就是所有 FlutterFire 包中版本增加的原因。 Firebase admob 在最新版本上运行良好。

突破性壮举:将端口转发到 firebase-ios-sdk v7.3.0。

由于此次 SDK 升级,iOS 10 现在是 FlutterFire 支持的最低版本。请更新您的构建目标版本。

要修复它,增加您的目标版本 iOS 目标。改变你的

转到您的颤振项目。导航到 ios 并打开 Podfile 文件并将该文件的第二行替换为:

platform :ios, '12.0'platform :ios, '10.0’ 随你喜欢 > 10

【讨论】:

只有最后一个建议有效,我已经尝试了上述所有解决方案。 相同,更改为 platform :ios, '10.0' 为我修复了它。此外,pod repo update 对我来说是缺失的部分。谢谢你。

以上是关于满足 'firebase_admob' 的规范,但它们需要 Flutter 中更高的最小部署目标的主要内容,如果未能解决你的问题,请参考以下文章

集成firebase_admob时android清单中的元数据错误

哪个包实现了与 firebase_admob 一起使用的 RequestConfiguration?

符合规范,但仍然:未发送 IPN,未验证握手。请查看您的信息

Flutter,admob dispose有时不起作用

铁搭基站图像分析识别仪表抄表设备厂家技术规范

使用checkstyle来规范你的项目