Error building iOS app with Flutter - Missing DVTPlugInCompatibilityUUID plugin

Viewed 884

I shipped a build before the weekend everything works fine, I come back on Monday, impossible to build. I'm stuck on this for the past few days, I've been trying most of the stuff from the internet I can't seem to find a solution.

XCode build is failing specifying missing plugins (form the base Flutter install I'm guessing):

[        ] Xcode build done.                                           50.6s
[        ] Failed to build iOS app
[        ] Error output from Xcode build:
           ↳
[        ]     2021-06-10 09:23:10.255 xcodebuild[64069:7134747] [MT] PluginLoading: Required plug-in compatibility UUID F56A1938-53DE-493D-9D64-87EE6C415E4D for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/CocoaPods.xcplugin' not present in DVTPlugInCompatibilityUUIDs
               2021-06-10 09:23:10.255 xcodebuild[64069:7134747] [MT] PluginLoading: Required plug-in compatibility UUID F56A1938-53DE-493D-9D64-87EE6C415E4D for plug-in at path '~/Library/Application Support/Developer/Shared/Xcode/Plug-ins/Alcatraz.xcplugin' not present in DVTPlugInCompatibilityUUIDs
               ** BUILD FAILED **

It then generates error concerning Riverpod

               [+5009 ms] ../../flutter/.pub-cache/hosted/pub.dartlang.org/riverpod-0.12.4/lib/src/common.freezed.dart:121:4: Error: Getter not found: 'nullable'.
               [   +2 ms]   @nullable
               [        ]    ^^^^^^^^
               [   +5 ms] ../../flutter/.pub-cache/hosted/pub.dartlang.org/riverpod-0.12.4/lib/src/common.freezed.dart:121:4: Error: This can't be used as an annotation; an annotation should be a reference to a compile-time constant variable, or a call to a constant constructor.
               [        ]   @nullable
               [        ]    ^
               [   +1 ms] ../../flutter/.pub-cache/hosted/pub.dartlang.org/riverpod-0.12.4/lib/src/common.freezed.dart:206:4: Error: Getter not found: 'nullable'.
               [        ]   @nullable
               [        ]    ^^^^^^^^
               [        ] ../../flutter/.pub-cache/hosted/pub.dartlang.org/riverpod-0.12.4/lib/src/common.freezed.dart:206:4: Error: This can't be used as an annotation; an annotation should be a reference to a compile-time constant variable, or a call to a constant constructor.
               [        ]   @nullable
               [        ]    ^

What I have tried so far:

  • flutter clean
  • flutter pub cache repair
  • Rebuilding the iOS folder
  • cleaning the build folder
  • pod update && pod install
  • flutter upgrade
  • check the use of !use_frameworks in podfile

And other configuration changes in XCode such as the script 'for install only', etc...

The only thing I see would be that the problem is coming from a package that I'm using, such as Firebase Core. They had a similar problem a year ago or so where we had to downgrade the package version in order to build and the error was similar, the problem here is that I tried to downgrade from 1.2.1 to 0.7.0 but the problem persists until it generates dependencies issues. Same kind of issue happended with flutter_svg I think, it was due to a breaking change making it mandatory to either update flutter_svg or downgrade flutter.

Also, could it be that I have not migrated to sound null safety yet ?

If you have an idea on how to debug this, that would be very helpful. (Some stuff that I can run to have more infos regarding the error for example).

Here are my flutter doctor and pubspec files:

Flutter doctor:

[✓] Flutter (Channel stable, 2.2.1, on macOS 11.3 20E232 darwin-x64, locale en-FR)
    • Flutter version 2.2.1 at /Users/Wapazz/Development/flutter
    • Framework revision 02c026b03c (2 weeks ago), 2021-05-27 12:24:44 -0700
    • Engine revision 0fdb562ac8
    • Dart version 2.13.1

[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.2)
    • Android SDK at /Users/Wapazz/Library/Android/sdk
    • Platform android-30, build-tools 29.0.2
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 12.5, Build version 12E262
    • CocoaPods version 1.10.1

[✓] Chrome - develop for the web
    • Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome

[✓] Android Studio (version 3.5)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 42.1.1
    • Dart plugin version 191.8593
    • Java version OpenJDK Runtime Environment (build 1.8.0_202-release-1483-b49-5587405)

[✓] Connected device (2 available)
    • iPhone 11 (mobile) • 519E686E-DEDD-4859-8D8D-EA775DB7149D • ios            • com.apple.CoreSimulator.SimRuntime.iOS-14-5 (simulator)
    • Chrome (web)       • chrome                               • web-javascript • Google Chrome 91.0.4472.77

• No issues found!

Pubspec.yaml:

dependencies:
  flutter:
    sdk: flutter
  cloud_firestore: ^2.2.2
  country_code_picker: ^2.0.1
  dropdown_formfield: ^0.1.3
  file_picker: ^3.0.2+2
  firebase_auth: ^1.4.1
  firebase_core: ^1.3.0
  firebase_storage: ^8.1.3
  flat_segmented_control: ^0.1.0
  flutter_dialogs: ^1.1.0
  flutter_keyboard_visibility: ^5.0.2
  flutter_radar_chart: ^0.2.0
  flutter_riverpod: ^0.12.4 #^0.14.0+3
  flutter_svg: ^0.22.0
  google_fonts: ^2.1.0
  image_picker: ^0.8.0+3
  introduction_screen: ^2.1.0
  modal_bottom_sheet: ^2.0.0
  shimmer: ^2.0.0
  video_player: ^2.1.6
  youtube_player_flutter: ^8.0.0

EDIT: It seems to be coming from riverpod 0.12.4. Updating it to the latest version generated another error but that requires code refactoring, I will update if the issue is resolved after the refactoring.

1 Answers

After reviewing every dependencies one by one I found the culprit. The issue was coming from riverpod 0.12.4, updating it to the latest version fixed the issue.

In addition a refactor was necessary in order to make the app working and fix the breaking changes due to the new 0.14.0 version.

Github issue regarding riverpod

Migration guide

Related