After upgrading flutter stable to 1.12, cloud_firestore 0.13.0+1 failed to build on ios (it still work on Android).
To reproduce the bug, on a new flutter project, just add the dependencies to pubspec.yaml:
dependencies:
flutter:
sdk: flutter
firebase_core: ^0.4.3+1
cloud_firestore: ^0.13.0+1
(and GoogleService-Info.plist in ios/Runner).
Then the build fails for ios (and works for android).
I flush .pub-cache to no avail.
32m@dev Test % flutter doctor -v
[✓] Flutter (Channel stable, v1.12.13+hotfix.5, on Mac OS X 10.15.2 19C57, locale fr-FR)
• Flutter version 1.12.13+hotfix.5 at /Users/em/Dev/Softs/flutter
• Framework revision 27321ebbad (2 days ago), 2019-12-10 18:15:01 -0800
• Engine revision 2994f7e1e6
• Dart version 2.7.0
[✓] Android toolchain - develop for Android devices (Android SDK version 28.0.3)
• Android SDK at /Users/em/Library/Android/sdk
• Android NDK location not configured (optional; useful for native profiling support)
• Platform android-28, build-tools 28.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_202-release-1483-b49-5587405)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 11.3)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Xcode 11.3, Build version 11C29
• CocoaPods version 1.8.3
[✓] 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)
[✓] VS Code (version 1.40.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.6.0
[✓] Connected device (2 available)
• AOSP on IA Emulator • emulator-5554 • android-x86 • Android 9 (API 28) (emulator)
• iPhone 8 • 3998CCF4-0C57-4E0D-A6A7-196B5445E265 • ios • com.apple.CoreSimulator.SimRuntime.iOS-13-3 (simulator)
• No issues found!
Here's the message when I try to build:
Launching lib/main.dart on iPhone 8 in debug mode...
Running pod install...
Running Xcode build...
Xcode build done. 99,5s
Failed to build iOS app
Error output from Xcode build:
↳
** BUILD FAILED **
Xcode's output:
↳
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/google/firestore/v1/Write.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Timestamp.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Timestamp.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Timestamp.pbobjc.h>
1 warning generated.
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/firestore/local/Target.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Timestamp.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Timestamp.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Timestamp.pbobjc.h>
1 warning generated.
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/google/rpc/Status.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Any.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Any.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Any.pbobjc.h>
1 warning generated.
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/google/firestore/v1/Query.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Wrappers.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Wrappers.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Wrappers.pbobjc.h>
1 warning generated.
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/firestore/local/Mutation.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Timestamp.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Timestamp.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Timestamp.pbobjc.h>
1 warning generated.
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/firestore/local/MaybeDocument.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Timestamp.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Timestamp.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Timestamp.pbobjc.h>
1 warning generated.
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/google/firestore/v1/Firestore.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Empty.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Empty.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Empty.pbobjc.h>
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/google/firestore/v1/Firestore.pbobjc.m:34:10: warning: non-portable path to file '<protobuf/Timestamp.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Timestamp.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Timestamp.pbobjc.h>
2 warnings generated.
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/google/firestore/v1/Document.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Struct.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Struct.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Struct.pbobjc.h>
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/google/firestore/v1/Document.pbobjc.m:34:10: warning: non-portable path to file '<protobuf/Timestamp.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Timestamp.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Timestamp.pbobjc.h>
2 warnings generated.
/Users/32m/AndroidStudioProjects/Test/ios/Pods/FirebaseFirestore/Firestore/Protos/objc/google/firestore/v1/Common.pbobjc.m:33:10: warning: non-portable path to file '<protobuf/Timestamp.pbobjc.h>'; specified path differs in case from file name on disk [-Wnonportable-include-path]
#import <Protobuf/Timestamp.pbobjc.h>
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~
<protobuf/Timestamp.pbobjc.h>
1 warning generated.
/Users/32m/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.0+1/ios/Classes/FLTCloudFirestorePlugin.m:155:24: error: no visible @interface for 'FIRQuery' declares the selector 'queryWhereField:arrayContainsAny:'
query = [query queryWhereField:fieldName arrayContainsAny:value];
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/32m/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.0+1/ios/Classes/FLTCloudFirestorePlugin.m:157:24: error: no visible @interface for 'FIRQuery' declares the selector 'queryWhereFieldPath:arrayContainsAny:'
query = [query queryWhereFieldPath:fieldPath arrayContainsAny:value];
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/32m/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.0+1/ios/Classes/FLTCloudFirestorePlugin.m:163:24: error: no visible @interface for 'FIRQuery' declares the selector 'queryWhereField:in:'
query = [query queryWhereField:fieldName in:value];
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/Users/32m/.pub-cache/hosted/pub.dartlang.org/cloud_firestore-0.13.0+1/ios/Classes/FLTCloudFirestorePlugin.m:165:24: error: no visible @interface for 'FIRQuery' declares the selector 'queryWhereFieldPath:in:'
query = [query queryWhereFieldPath:fieldPath in:value];
~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
4 errors generated.
note: Using new build system
note: Planning build
note: Constructing build description
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 5.0, but the range of supported deployment target versions is 8.0 to 13.2.99. (in target 'leveldb-library' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 8.0 to 13.2.99. (in target 'Protobuf' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 4.3, but the range of supported deployment target versions is 8.0 to 13.2.99. (in target 'nanopb' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 8.0 to 13.2.99. (in target 'BoringSSL-GRPC' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 8.0 to 13.2.99. (in target 'gRPC-Core' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 8.0 to 13.2.99. (in target 'gRPC-C++' from project 'Pods')
warning: The iOS Simulator deployment target 'IPHONEOS_DEPLOYMENT_TARGET' is set to 7.0, but the range of supported deployment target versions is 8.0 to 13.2.99. (in target 'gRPC-C++-gRPCCertificates-Cpp' from project 'Pods')
Could not build the application for the simulator.
Error launching application on iPhone 8.
Hi @32mandev
does this solution solve the issue?
thank you
Hi,
unfortunately flutter clean; flutter pub cache repair doesn't solve the issue.
cd ios
pod update Firebase/Firestore
try this it fixed a similar issue for me in the past. If that doesn't work the more drastic measure is to delete the "Pods" folder and "Podfile.lock".
cd ios
pod update Firebase/Firestore
It worked! Thank you very much.
Most helpful comment
try this it fixed a similar issue for me in the past. If that doesn't work the more drastic measure is to delete the "Pods" folder and "Podfile.lock".