将firebase_ml_vision添加到flutter会引发错误“未知类型名称'FIRVisionCloudLabelDetector”

时间:2019-01-29 12:32:45

标签: firebase dart flutter firebase-mlkit

将firebase_ml_vision:0.3.0添加到现有项目时,在构建xcode时始终会抱怨:未知类型名称'FIRVisionCloudLabelDetector'。

如果排除firebase_ml_vision,则可以编译项目。

这是我扑扑的医生结果:

Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel dev, v1.1.9, on Mac OS X 10.14.1 18B75, locale zh-Hans-CN)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
[✓] Android Studio (version 3.1)
[✓] IntelliJ IDEA Ultimate Edition (version 2018.3.2)
[✓] Connected device (1 available)

我尝试重新安装cocoapods,并使用“ flutter upgrade”升级了flutter,并使用“ cd ios && pod update”升级了pod,仍然无法正常工作。

2 个答案:

答案 0 :(得分:1)

我遇到了同样的问题,一种解决方法是将MLVisionLabelModel降级。

为此,请使用xcode打开您的项目,然后打开Podfile,然后添加

pod 'Firebase/MLVisionLabelModel', '5.15.0'

,然后重新运行。它应该可以正常工作。

答案 1 :(得分:0)

我的pod文件的以下区域发生了变化,并且我遇到了同样的问题:

# Uncomment this line to define a global platform for your project
platform :ios, '9.0'

...

target 'Runner' do

  use_frameworks!

...

  pod 'GoogleAppMeasurement'
  pod 'Firebase/Core'
  pod 'Firebase/Messaging'
  pod 'Firebase/MLVisionBarcodeModel', '5.15.0'
  pod 'Firebase/MLVisionLabelModel', '5.15.0'
  pod 'Firebase/MLVisionTextModel', '5.15.0'

我将所有5.15.0更改为5.16.0,然后执行命令:“ pod update”,此问题消失了。在使用pubspec.yaml构建ios和androidX之前,我还玩过游戏。对于androidX版本,我有以下内容:

  # Build for AndroidX
  #firebase_ml_vision: ^0.9.2
  firebase_ml_vision: ^0.8.0

  # Build for iOS
  #firebase_ml_vision: ^0.2.1

  flutter_camera_ml_vision: ^2.2.1

成功了。但是,这却给iOS带来了升级问题。所以现在一旦我转到5.16.0,我就只能拥有以下代码行:

  flutter_camera_ml_vision: ^2.2.1