3

I've been trying to figure out how to make cloud_firestore plugin for flutter to work but so far, not a single build has completed. I've got many errors each time... I'm trying to build for the iOS iPhoneX simulator

I've followed the instructions of this code lab: https://codelabs.developers.google.com/codelabs/flutter-firebase/ And I have exactly the same code as in step 9

Here are the errors:

$ flutter run
Launching lib/main.dart on iPhone X in debug mode...
Running pod install...                                      10,2s
Running Xcode clean...                                       1,5s
Starting Xcode build...                                          
Xcode build done.                                            2,6s
Failed to build iOS app
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    === BUILD TARGET gRPC-Core OF PROJECT Pods WITH CONFIGURATION Debug ===
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.2.3/ios/Classes/FirebaseCorePlugin.m:13:17: warning: property 'dictionary' requires method 'dictionary' to be defined - use @dynamic or provide a method implementation in this category [-Wobjc-property-implementation]
    @implementation FIROptions (FLTFirebaseCorePlugin)
                    ^
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/firebase_core-0.2.3/ios/Classes/FirebaseCorePlugin.m:10:46: note: property declared here
    @property(readonly, nonatomic) NSDictionary *dictionary;
                                                 ^
    1 warning generated.
    === BUILD TARGET cloud_firestore OF PROJECT Pods WITH CONFIGURATION Debug ===
    In file included from /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:5:
    In file included from /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.h:5:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/Flutter.h:37:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/FlutterAppDelegate.h:11:
    /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/FlutterPlugin.h:80:42: warning: 'UIUserNotificationSettings' is only available on iOS 8.0 or newer [-Wunguarded-availability]
        didRegisterUserNotificationSettings:(UIUserNotificationSettings*)notificationSettings;
                                             ^
    In module 'UIKit' imported from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Target Support Files/cloud_firestore/cloud_firestore-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.3.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIUserNotificationSettings.h:43:12: note: 'UIUserNotificationSettings' has been explicitly marked partial here
    @interface UIUserNotificationSettings : NSObject
               ^
    In file included from /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:5:
    In file included from /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.h:5:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/Flutter.h:37:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/FlutterAppDelegate.h:11:
    /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/FlutterPlugin.h:79:1: note: annotate 'application:didRegisterUserNotificationSettings:' with an availability attribute to silence this warning
    - (void)application:(UIApplication*)application
    ^
    /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/FlutterPlugin.h:95:44: warning: 'UIBackgroundFetchResult' is only available on iOS 7.0 or newer [-Wunguarded-availability]
              fetchCompletionHandler:(void (^)(UIBackgroundFetchResult result))completionHandler;
                                               ^
    In module 'UIKit' imported from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Target Support Files/cloud_firestore/cloud_firestore-prefix.pch:2:
    /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator11.3.sdk/System/Library/Frameworks/UIKit.framework/Headers/UIApplication.h:76:29: note: 'UIBackgroundFetchResult' has been explicitly marked partial here
    typedef NS_ENUM(NSUInteger, UIBackgroundFetchResult) {
                                ^
    In file included from /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:5:
    In file included from /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.h:5:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/Flutter.h:37:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/FlutterAppDelegate.h:11:
    /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Public/Flutter/Flutter/FlutterPlugin.h:93:1: note: annotate 'application:didReceiveRemoteNotification:fetchCompletionHandler:' with an availability attribute to silence this warning
    - (BOOL)application:(UIApplication*)application
    ^
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:115:45: warning: implicit conversion loses integer precision: 'NSUInteger' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
          @"oldIndex" : [NSNumber numberWithInt:documentChange.oldIndex],
                        ~                       ^~~~~~~~~~~~~~~~~~~~~~~
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:116:45: warning: implicit conversion loses integer precision: 'NSUInteger' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
          @"newIndex" : [NSNumber numberWithInt:documentChange.newIndex],
                        ~                       ^~~~~~~~~~~~~~~~~~~~~~~
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:160:21: warning: implicit conversion loses integer precision: 'NSUInteger' (aka 'unsigned long') to 'UInt32' (aka 'unsigned int') [-Wshorten-64-to-32]
        [self writeSize:blob.length];
        ~               ^~~~~~~~~~~
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:270:7: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
          transactions[transactionId] = transaction;
          ^
          self->
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:277:29: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
                                transactionResults[transactionId] = doTransactionResult;
                                ^
                                self->
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:284:14: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
          return transactionResults[transactionId];
                 ^
                 self->
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:298:37: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
          FIRTransaction *transaction = transactions[transactionId];
                                        ^
                                        self->
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:322:37: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
          FIRTransaction *transaction = transactions[transactionId];
                                        ^
                                        self->
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:331:37: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
          FIRTransaction *transaction = transactions[transactionId];
                                        ^
                                        self->
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:340:37: warning: block implicitly retains 'self'; explicitly mention 'self' to indicate this is intended behavior [-Wimplicit-retain-self]
          FIRTransaction *transaction = transactions[transactionId];
                                        ^
                                        self->
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:351:26: error: unknown receiver 'FIRSetOptions'; did you mean 'FIROptions'?
                    options:[FIRSetOptions merge]
                             ^~~~~~~~~~~~~
                             FIROptions
    In file included from /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:7:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Private/Firebase/Firebase.h:1:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Private/FirebaseCore/FirebaseCore.h:21:
    /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Private/FirebaseCore/FIROptions.h:25:12: note: 'FIROptions' declared here
    @interface FIROptions : NSObject <NSCopying>
               ^
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:351:40: error: no known class method for selector 'merge'
                    options:[FIRSetOptions merge]
                                           ^~~~~
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:350:17: error: no visible @interface for 'FIRDocumentReference' declares the selector 'setData:options:completion:'
          [document setData:call.arguments[@"data"]
           ~~~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:440:76: error: unknown receiver 'FIRSetOptions'; did you mean 'FIROptions'?
          [batch setData:call.arguments[@"data"] forDocument:document options:[FIRSetOptions merge]];
                                                                               ^~~~~~~~~~~~~
                                                                               FIROptions
    In file included from /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:7:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Private/Firebase/Firebase.h:1:
    In file included from /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Private/FirebaseCore/FirebaseCore.h:21:
    /Users/arthurdepasse/Programmation/flutter_cloud_firestore/ios/Pods/Headers/Private/FirebaseCore/FIROptions.h:25:12: note: 'FIROptions' declared here
    @interface FIROptions : NSObject <NSCopying>
               ^
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:440:90: error: no known class method for selector 'merge'
          [batch setData:call.arguments[@"data"] forDocument:document options:[FIRSetOptions merge]];
                                                                                             ^~~~~
    /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.7.0+2/ios/Classes/CloudFirestorePlugin.m:440:14: error: no visible @interface for 'FIRWriteBatch' declares the selector 'setData:forDocument:options:'
          [batch setData:call.arguments[@"data"] forDocument:document options:[FIRSetOptions merge]];
           ~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    12 warnings and 6 errors generated.
Could not build the application for the simulator.
Error launching application on iPhone X.

And then here is my flutter doctor output :

$ flutter doctor -v
[✓] Flutter (Channel beta, v0.3.2, on Mac OS X 10.13.2 17C88, locale fr-FR)
    • Flutter version 0.3.2 at /Users/arthurdepasse/SDKs/flutter_v0.3.1-beta
    • Framework revision 44b7e7d3f4 (3 weeks ago), 2018-04-20 01:02:44 -0700
    • Engine revision 09d05a3891
    • Dart version 2.0.0-dev.48.0.flutter-fe606f890b

[!] Android toolchain - develop for Android devices
    • Android SDK at /Users/arthurdepasse/Library/Android/sdk
    • Android NDK at /Users/arthurdepasse/Library/Android/sdk/ndk-bundle
    ✗ Android SDK is missing command line tools; download from <link removed>
    • Try re-installing or updating your Android SDK,
      visit https://flutter.io/setup/#android-setup for detailed instructions.

[✓] iOS toolchain - develop for iOS devices (Xcode 9.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 9.3, Build version 9E145
    • ios-deploy 1.9.2
    • CocoaPods version 1.5.0

[✓] Android Studio (version 3.0)
    • 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_152-release-915-b08)

[✓] VS Code (version 1.23.0)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Dart Code extension version 2.12.1

[✓] Connected devices (1 available)
    • iPhone X • 1295166F-AF96-4DA3-9D82-4172A0F9C55A • ios • iOS 11.3 (simulator)

! Doctor found issues in 1 category.

I hope someone will have some insight on this, I'm not very familiar with the pods system but I believe the issue comes from here.

5
  • Please add the dependencies of your pubspec.yaml Commented May 8, 2018 at 19:00
  • 1
    dependencies: flutter: sdk: flutter cupertino_icons: ^0.1.0 cloud_firestore: ^0.7.0 Commented May 8, 2018 at 19:03
  • I also have this error. Commented May 14, 2018 at 0:29
  • I found the answer here : stackoverflow.com/questions/50125534/… It's working now Commented May 14, 2018 at 12:06
  • Try this solution: stackoverflow.com/a/71700438/7928327 Commented Apr 1, 2022 at 0:15

2 Answers 2

1

You may need to update your dependencies in pubspec.yaml. I had this issue with cloud_firestore v0.6.x. I was able to fix this by updating to the latest cloud_firestore. I also updated to latest firebase_auth. (Those links will take you to the source so you can find the current latest versions.)

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
ons class for iOS style icons.
  cupertino_icons: ^0.1.2
  cloud_firestore: '^0.7.3'
  firebase_auth: '^0.5.11'
Sign up to request clarification or add additional context in comments.

1 Comment

Don't forget the flutter packges get to update your install.
0

I think this may be related to the new v5 for iOS pods release (yesterday). There are a number of breaking changes with this and firebase. I'm not familiar with flutter, but what fixed this for me was changing "pod 'Firebase/Core'" to "pod 'Firebase/Core', '~> 4.13.0'" in my Podfile.

1 Comment

Hello, thanks for the answer but there is no such line in my Podfile. Everything is autogenerated. I tried to change the version number in Podfile.lock but then pod install was not able to complete. My cocoa pods install is v1.5.2 if it can help

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.