架构的未定义符号 x86_64 颤动

Undefined symbols for architecture x86_64 flutter

我正在处理一个 app flutter。 Android 工作正常,但 ios 不行。我需要一些帮助 运行 在 ios 移动设备上进行此操作。我正在使用 lib: google_maps_flutter: ^0.5.27+3firebase_ml_vision: ^0.9.3+8. Xcode 11.4.1 和 Mac os 卡特琳娜 10.15.4。有人知道如何解决这个问题。我还没找到。

flutter doctor
[✓] Flutter (Channel stable, v1.17.0, on Mac OS X 10.15.4 19E287, locale en-BR)
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
[✓] Xcode - develop for iOS and macOS (Xcode 11.4.1)
[✓] Android Studio (version 3.6)
[✓] VS Code (version 1.45.0)
[✓] Connected device (1 available)

• No issues found!

记录以下错误:

Undefined symbols for architecture x86_64:
  "_OBJC_CLASS_$_GMSPolyline", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapPolylineController.o)
  "_OBJC_CLASS_$_FIRVisionOnDeviceImageLabelerOptions", referenced from:
      objc-class-ref in firebase_ml_vision(ImageLabeler.o)
  "_FIRFaceLandmarkTypeLeftEar", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceLandmarkTypeMouthLeft", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceLandmarkTypeRightCheek", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceLandmarkTypeNoseBase", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceLandmarkTypeRightEye", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_GMSMarker", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapMarkerController.o)
  "_FIRFaceLandmarkTypeMouthRight", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceContourTypeLeftEye", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceContourTypeRightEye", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceContourTypeLowerLipTop", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_GMSServices", referenced from:
      objc-class-ref in AppDelegate.o
  "_FIRFaceContourTypeNoseBottom", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceLandmarkTypeLeftCheek", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceLandmarkTypeLeftEye", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_GMSMapStyle", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapController.o)
  "_FIRFaceContourTypeRightEyebrowTop", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_GMSPolygon", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapPolygonController.o)
  "_FIRFaceContourTypeUpperLipTop", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceContourTypeRightEyebrowBottom", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceContourTypeLeftEyebrowBottom", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceLandmarkTypeRightEar", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceContourTypeUpperLipBottom", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_FIRVisionCloudImageLabelerOptions", referenced from:
      objc-class-ref in firebase_ml_vision(ImageLabeler.o)
  "_OBJC_CLASS_$_GMSCameraPosition", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapController.o)
  "_kGMSMinZoomLevel", referenced from:
      _InterpretMapOptions in google_maps_flutter(GoogleMapController.o)
  "_OBJC_CLASS_$_GMSMapView", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapController.o)
  "_OBJC_CLASS_$_GMSMutablePath", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapPolygonController.o)
      objc-class-ref in google_maps_flutter(GoogleMapPolylineController.o)
  "_OBJC_CLASS_$_GMSCircle", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapCircleController.o)
  "_FIRFaceLandmarkTypeMouthBottom", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_GMSCoordinateBounds", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapController.o)
  "_OBJC_CLASS_$_GMSCameraUpdate", referenced from:
      objc-class-ref in google_maps_flutter(GoogleMapController.o)
  "_FIRFaceContourTypeLeftEyebrowTop", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_FIRVision", referenced from:
      objc-class-ref in firebase_ml_vision(FLTFirebaseMlVisionPlugin.o)
  "_OBJC_CLASS_$_FIRVisionFaceDetectorOptions", referenced from:
      objc-class-ref in firebase_ml_vision(FaceDetector.o)
  "_kGMSMaxZoomLevel", referenced from:
      _InterpretMapOptions in google_maps_flutter(GoogleMapController.o)
  "_FIRFaceContourTypeAll", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_FIRVisionBarcodeDetectorOptions", referenced from:
      objc-class-ref in firebase_ml_vision(BarcodeDetector.o)
  "_OBJC_CLASS_$_FIRApp", referenced from:
      objc-class-ref in firebase_ml_vision(FLTFirebaseMlVisionPlugin.o)
  "_FIRFaceContourTypeLowerLipBottom", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_OBJC_CLASS_$_FIRVisionImage", referenced from:
      objc-class-ref in firebase_ml_vision(FLTFirebaseMlVisionPlugin.o)
  "_FIRFaceContourTypeFace", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
  "_FIRFaceContourTypeNoseBridge", referenced from:
      ___39-[FaceDetector handleDetection:result:]_block_invoke in firebase_ml_vision(FaceDetector.o)
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

可能错误出在某些 XCode 项目文件上,请尝试:

  1. 备份您的项目。
  2. 运行 这个命令

    扑干净&&\ rm ios/Podfile ios/Podfile.lock pubspec.lock && \ rm -rf ios/Pods ios/Runner.xcworkspace && \ 颤动 运行

Reference

由于存在缓存,这通常是依赖项解析问题。如果您无法为 iOS 构建,无论插件版本如何,请执行以下步骤。

注意:建议您时不时地执行此操作,它还会清除您机器上大量使用过的 space。

  1. project/ios 文件夹中,运行 pod deintegrate && rm Podfile.lock && pod install
  2. 在您的项目文件夹中,运行 flutter clean
  3. 通过 运行ning rm -rf ~/Library/Developer/Xcode/DerivedData
  4. 清除 Xcode 派生数据
  5. 使用 Xcode 打开项目并通过 Cmd + Shift + K
  6. 进行清理
  7. 使用 flutter build ios 命令构建。

在使用 m1 芯片的 mac 中,我无法在模拟器中 运行 我的项目,而是我不得不使用物理 iPhone 连接并且它没有显示错误, 运行没问题。