Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Xcode build extremely slow - only when using cloud_firestore plugin #37582

Closed
walsha2 opened this issue Aug 4, 2019 · 43 comments
Closed

Xcode build extremely slow - only when using cloud_firestore plugin #37582

walsha2 opened this issue Aug 4, 2019 · 43 comments
Labels
a: annoyance Repeatedly frustrating issues with non-experimental functionality a: build Building flutter applications with the tool a: quality A truly polished experience c: performance Relates to speed or footprint issues (see "perf:" labels) p: cloud_firestore Firebase Firestore plugin p: firebase Firebase plugins package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels.

Comments

@walsha2
Copy link
Contributor

walsha2 commented Aug 4, 2019

Summary of Issue

Simply adding cloud_firestore to pubspec.yaml results in a huge increase in iOS xcode build times. The issue can be recreate with nothing more than a simple flutter create application and minor changes to pubspec.yaml.

MacOS Mojave 10.14.6
Xcode 10.3
> flutter --version
Flutter 1.8.4-pre.91 • channel master • https://github.com/flutter/flutter.git
Framework • revision 8fdd759225 (11 hours ago) • 2019-08-04 00:56:23 -0400
Engine • revision c8f4f5d5cc
Tools • Dart 2.5.0 (build 2.5.0-dev.1.0 9bb446aae1)
> flutter create test_cloud_firestore
> cd test_cloud_firestore

Without cloud_firestore

Just to show that it is specifically the cloud_firestore plugin that causes this issue I will add some other firebase plugins to pubspec.yaml:

firebase_core: ^0.4.0+1
firebase_analytics: ^4.0.2

Now we build the app:

> flutter packages get
> time flutter build ios
....
Xcode build done. 
real	0m41.014s

Okay that looks reasonable.

With cloud_firestore

Simply add the latest version of cloud_firestore plugin to pubspec.yaml (no other changes):

cloud_firestore: ^0.12.9

Now we build the application again:

> flutter packages get
> time flutter build ios
....
Xcode build done. 
real	6m40.982s

Yes... that is right. A six minute increase in iOS build times just from adding the cloud_firestore plugin to pubspec.yaml. Again, no changes were made to the flutter create generated application, this is simply changes to pubspec.yaml.

Logs

I did confirm that this issue persists on other flutter channels as well as other later versions of cloud_firestore plugin.

> flutter doctor -v
[✓] Flutter (Channel master, v1.8.4-pre.91, on Mac OS X 10.14.6 18G84, locale en-US)
    • Flutter version 1.8.4-pre.91 at /Users/taza/Applications/flutter
    • Framework revision 8fdd759225 (11 hours ago), 2019-08-04 00:56:23 -0400
    • Engine revision c8f4f5d5cc
    • Dart version 2.5.0 (build 2.5.0-dev.1.0 9bb446aae1)

 
[✓] Android toolchain - develop for Android devices (Android SDK version 29.0.1)
    • Android SDK at /Users/taza/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-29, build-tools 29.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)
    • All Android licenses accepted.

[✓] Xcode - develop for iOS and macOS (Xcode 10.3)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.3, Build version 10G8
    • CocoaPods version 1.7.5

[✓] Android Studio (version 3.4)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 37.1.1
    • Dart plugin version 183.6270
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1343-b01)

[✓] VS Code (version 1.36.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 3.3.0
@walsha2 walsha2 changed the title Xcode build slow - only when using cloud_firestore Xcode build extremely slow - only when using cloud_firestore Aug 4, 2019
@walsha2 walsha2 changed the title Xcode build extremely slow - only when using cloud_firestore Xcode build extremely slow - only when using cloud_firestore plugin Aug 4, 2019
@walsha2
Copy link
Contributor Author

walsha2 commented Aug 4, 2019

@collinjackson @blasten Any thoughts on this? This is a serious issue for development if each build takes this long. I have seen other issues related to "slow Xcode builds" (or something similar) but I don't think anyone has explicitly tied it to cloud_firestore plugin. That is literally the only change as you can see from my simple step by step recreation above.

@walsha2
Copy link
Contributor Author

walsha2 commented Aug 4, 2019

I think this is related to #27771 and possibly #24909- but that thread is quiet and no responses. @orestesgaolin @JosephDunivan @jrm2k6 have you found any solutions for this?

@collinjackson collinjackson added p: cloud_firestore Firebase Firestore plugin p: first party labels Aug 4, 2019
@collinjackson
Copy link
Contributor

collinjackson commented Aug 4, 2019

I don't have much insight on solutions to offer here but I can reproduce the issue. It seems to be a build issue that happens when adding a dependency on the Firestore CocoaPod to a Flutter app.

Building the basic "flutter create" example app normally takes around 17 seconds for me according to time. Building the same app with the Firestore CocoaPod added takes well over a minute.

$ time flutter build ios --simulator
Building com.example.simpleExample for simulator (ios)...
Running pod install...                                             10.8s
Running Xcode build...                                                  
                                                   
 ├─Assembling Flutter resources...                           1.7s
 └─Compiling, linking and signing...                         9.2s
Xcode build done.                                           75.4s
Built /Users/jackson/git/simple_example/build/ios/iphonesimulator/Runner.app.

real	1m32.318s
user	0m16.984s
sys	0m4.776s

Here's what's getting pulled in when you include the Firestore CocoaPod:

  • BoringSSL-GRPC
  • FirebaseAuthInterop
  • FirebaseFirestore
  • Protobuf
  • gRPC-C++
  • gRPC-Core
  • leveldb-library

I'm not sure if there's much we can do on the Flutter side as it's all stuff that Firebase is pulling in automatically.

I didn't see any issues in the https://github.com/firebase/firebase-ios-sdk database referencing build times but you could open an issue there if you think that there's something that could be done.

@vagrantrobbie
Copy link

We also have this issue in our project and it's stopped us using Firestore specifically because of this problem

@jrm2k6
Copy link

jrm2k6 commented Aug 4, 2019

@walsha2 No solutions found except waiting, unfortunately. It was for a side project of mine, so not a big deal and I have moved on anyway.

@walsha2
Copy link
Contributor Author

walsha2 commented Aug 5, 2019

@collinjackson thanks for replying. Ok yea I noticed that too and assumed it was something in those other pods that cloud_firestore brings in.

My only question now is, how is anyone using firestore and flutter? I'm surprised that this is not a problem that every person is having. My only explanation is that there must be some sort of iOS and/or Xcode version dependency that keeps other users from seeing it?


I spent more time than I want to admit looking into each of those pods to see if I could glean anything. First hunch was to see if the new Apple FIle System (APFS) shipped with 10.13+ has anything to do with it. I did notice that Protobuf had a lot of issues importing header files because APFS is now case sensitive. If you look at the Xcode build logs you will see a bunch of warnings like the following:

........test_firestore/ios/Pods/Headers/Private/Protobuf/GPBProtocolBuffers.h:55: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>

I could not link the above APFS related issue directly with compile time, but it does seem notable. Other than that anything gRPC related seemed to take the most time to compile.


I am not sure what to do to elevate this issue to core Flutter/Firestore team. I feel like if Flutter is to be adopted as a framework, the first logical backend to use is Firestore and one would think that it would be somewhat seamless (even in this beta stage). An issue like this could be a nonstarter for some developers and might be enough to detour some early adopters away from the framework altogether.

@blasten
Copy link

blasten commented Aug 5, 2019

There's an open PR to fix the protobuf warning issue: protocolbuffers/protobuf#6464.

@collinjackson
Copy link
Contributor

The best way to elevate Flutter issues is to use thumbs-up since that's how we're prioritizing our efforts.

For local builds, I wonder if precompiled CocoaPods dependencies would help. https://guides.cocoapods.org/plugins/pre-compiling-dependencies.html

@jmagman
Copy link
Member

jmagman commented Aug 6, 2019

Unscientifically on my machine, times for each library:
FirebaseFirestore - 48.9s
gRPC-Core - 15.2s
gRPC-C++ - 9.2s
BoringSSL-GRPC - 8.8s
Protobuf - 1.9s
nanopb - 0.6s
FirebaseCore - 0.6s
FirebaseInstanceID - 1.0s

@jonahwilliams
Copy link
Member

It sounds like the pod install is essential the build framework/plugin equivalent for iOS?

@collinjackson
Copy link
Contributor

@jonahwilliams I'm not sure I understand your question, but pod install downloads and installs new pod source files, and writes the version it has installed, for each pods, in the Podfile.lock file. Those files then get compiled during the later (slow) build step.

I tried cocoapods-binary but ran into a build error that I'm not sure how to resolve.

Xcode's output:
↳
    error: Multiple commands produce '/Users/jackson/git/plugins5/packages/cloud_firestore/example/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework':
    1) Target 'Runner' has copy command from '/Users/jackson/git/plugins5/packages/cloud_firestore/example/ios/Flutter/Flutter.framework' to
    '/Users/jackson/git/plugins5/packages/cloud_firestore/example/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework'
    2) That command depends on command in Target 'Runner': script phase “[CP] Embed Pods Frameworks”

I didn't see an obvious solution but haven't put much time into it yet.

@jmagman
Copy link
Member

jmagman commented Aug 6, 2019

Xcode's output:
↳
    error: Multiple commands produce '/Users/jackson/git/plugins5/packages/cloud_firestore/example/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework':
    1) Target 'Runner' has copy command from '/Users/jackson/git/plugins5/packages/cloud_firestore/example/ios/Flutter/Flutter.framework' to
    '/Users/jackson/git/plugins5/packages/cloud_firestore/example/build/ios/Debug-iphonesimulator/Runner.app/Frameworks/Flutter.framework'
    2) That command depends on command in Target 'Runner': script phase “[CP] Embed Pods Frameworks”

I didn't see an obvious solution but haven't put much time into it yet.

Try adding install! 'cocoapods', :disable_input_output_paths => true to the Podfile. See #20685.

@joepb
Copy link

joepb commented Aug 14, 2019

For me, pre-compiling seems to work (but takes a really long time, way way longer than the XCode build in the first place), but it's result is destroyed by flutter run forcing a pod install step during build. Which restarts the entire pre-compilation phase...

I also tried to downgrade various pods and flutter dependencies, but the problem remains, making my build take a staggering 10 minutes. Hardly a friendly F5 debug experience.

Are there any known workarounds how to be able to at least develop/simulate the firestore functionality until hopefully someone comes up with a great idea?

@walsha2
Copy link
Contributor Author

walsha2 commented Aug 14, 2019

@joepb - no "great idea" here - I just ended up biting the bullet and writing a cloud function API to perform all the firestore operations in the could function and have it return a JSON response.

Definitely not ideal but for my firestore needs and usage, it got me off the ground to at least develop the front end part until this gets resolved and then switch the backend to use firestore dart implementation.

Example below, just pointed to my cloud function URL and parsed the JSON response for a given query.

https://flutter.dev/docs/cookbook/networking/background-parsing#complete-example

@joepb
Copy link

joepb commented Aug 14, 2019

Thanks. Indeed afraid I'll have to resort to an API, good tip.

As I was just typing this reply, I was running VSCode build (against my better judgement) and when it finally finished (>15 minutes) I restarted the debug sessions. And what do you know... It only took 10 seconds!

That was running with cloud_firestore: 0.12.0 using a fixed version.

When I changed the version back to ^0.12.9, the next build took expectedly again over 15 minutes. And now again every restart is done in about 10 seconds...

I have no clue what I did. I'm not using the pre-compile thing anymore, so that's not it. If there are any files I can share to help investigate, please let me know.

@collinjackson
Copy link
Contributor

We don't have a timeline on a fix for this yet (patches welcome). My suggestion for next steps would be to try to figure out if it's an issue with Flutter's template iOS app or if it affects all non-Flutter apps using the Cloud Firestore CocoaPod.

@JosephDunivan
Copy link

JosephDunivan commented Aug 22, 2019 via email

@cyanglaz
Copy link
Contributor

cyanglaz commented Sep 3, 2019

I tried adding a FirebaseCore and FireStore into an empty iOS project (non-flutter). The build time doesn't seems to be very long.
cc @collinjackson

@walsha2
Copy link
Contributor Author

walsha2 commented Sep 21, 2019

Current Setup

Base project built with flutter create and the following flutter version:

Flutter 1.10.6-pre.29 • channel master • https://github.com/flutter/flutter.git
Framework • revision 919cc97f6a (19 hours ago) • 2019-09-20 14:57:05 -0700
Engine • revision 99092a0436
Tools • Dart 2.6.0 (build 2.6.0-dev.0.0 7c1821c4aa)

All builds are tested with the following commands:

>>> git clean -xdf
>>> flutter packages get
>>> time flutter build ios --debug

Issue Update and Development Ping

Just another ping for this issue and update on what I am seeing with the latest versions.

@cyanglaz can you provide more details? I just tested the same exact process discussed in #37582 (comment) and that resulted in:

Base Project

Building com.example.issue37582 for device (ios)...
Running Xcode build...                                                  
 ├─Assembling Flutter resources...                           7.7s
 └─Compiling, linking and signing...                         5.7s
Xcode build done.                                           15.3s

real	0m20.828s
user	0m4.675s
sys	0m1.860s

Base Project v2

Added the following to pubspec.yaml (all latest versions - as of 9/21/19):

  firebase_core: ^0.4.0+9
  firebase_analytics: ^5.0.2

No cloud_firestore, just some other firebase packages for comparison and that resulted in:

Building com.example.issue37582 for device (ios)...
Running pod install...                                              1.8s
Running Xcode build...                                                  
                                                   
 ├─Assembling Flutter resources...                           6.6s
 └─Compiling, linking and signing...                        13.1s
Xcode build done.                                           40.0s

real	0m49.051s
user	0m7.420s
sys	0m2.867s

Base Project v3

Add in cloud_firestore (all latest versions - as of 9/21/19):

  firebase_core: ^0.4.0+9
  firebase_analytics: ^5.0.2
  cloud_firestore: ^0.12.9+4

With cloud_firestore it resulted in:

Building com.example.issue37582 for device (ios)...
Running pod install...                                             13.4s
Running Xcode build...                                                  
                                                   
 ├─Assembling Flutter resources...                           7.7s
 └─Compiling, linking and signing...                        15.9s
Xcode build done.                                           341.0s

real	6m2.622s
user	0m21.049s
sys	0m6.512s

@ksilz
Copy link

ksilz commented Sep 25, 2019

I created a new Swift/Kotlin Flutter project, added the 34 plug-ins I use in my current project excluding Firestore, and built for iOS and Android. After a couple of attempts, Android clocked in at 41 seconds on average, iOS settled at 50 seconds. Then I added cloud_firestore as plug-in number 35 and re-ran the builds. Android went up to 44 seconds. iOS occasionally goes to 260 seconds but usually finishes around 101 seconds. So Android build time went up by 7%, but iOS build time doubled and occasionally goes up to 5x. This suggests to me that the iOS build system is (moody but) ok in general, but there's something special about cloud_firestore that brings out the worst in Xcode. Now my Mac has six cores and 32 GB of RAM and was the fastest Mac laptop you could buy until May this year.

Here are the plug-ins I added to the new Flutter project, with the culprit cloud_firestore commented out.

  provider: 3.1.0
  font_awesome_flutter: 8.5.0
  cached_network_image: 1.1.1
  shared_preferences: 0.5.3+4
  flutter_launcher_icons: 0.7.3
  about: 1.0.0
  oktoast: 2.2.0
  date_range_picker: 1.0.6
  intl: 0.16.0
  grouped_buttons: 1.0.4
  flutter_plugin_pdf_viewer: 1.0.7
  image_cropper: 1.0.2
  package_info: 0.4.0+6
  uuid: 2.0.2
  photo_view: 0.5.0
  geolocator: 5.1.3
  url_launcher: 5.1.3
  simple_gesture_detector: 0.1.3
  flutter_local_notifications: 0.8.3
  device_info: 0.4.0+2
  share: 0.6.2+1
  connectivity: 0.4.4
  video_player: 0.10.2+1
  camera: 0.5.4+2
  logger: 0.7.0+2
  logger_flutter: 0.7.1
  firebase_core: 0.4.0+9
  firebase_auth: 0.14.0+5
  # cloud_firestore: 0.12.9+4
  firebase_analytics: 5.0.2
  firebase_performance: 0.3.0+5
  firebase_storage: 3.0.6
  firebase_crashlytics: 0.1.0+3
  image_picker: 0.6.1+4
  google_maps_flutter: 0.5.21+3

And here's my build script for iOS, with the Android build step commented out:

#!/bin/sh

flutter clean
flutter packages get
time flutter build ios --debug 
# time flutter build apk --debug 

@ksilz
Copy link

ksilz commented Sep 26, 2019

@escamoteur @therealjohnsummer Here are details of my iOS build times.

Build time without Firestore after building a couple of times without any changes:

Running "flutter pub get" in flutter_firestore_test...              0.6s
Running pod install...                                              4.7s
Running Xcode build...
 ├─Assembling Flutter resources...                           7.1s
 └─Compiling, linking and signing...                        17.4s
Xcode build done.                                           33.7s

macOS time command output: real 0m47.955s

Build time with Firestore for the first time:

Running "flutter pub get" in flutter_firestore_test...              1.2s
Running Xcode build...
 ├─Assembling Flutter resources...                           8.0s
 └─Compiling, linking and signing...                        28.3s
Xcode build done.                                           219.1s


macOS time command output: real 4m20.023s

Build time with Firestore after building a couple of times without any changes:

Running "flutter pub get" in flutter_firestore_test...              0.5s
Running pod install...                                             12.8s
Running Xcode build...
 ├─Assembling Flutter resources...                           9.2s
 └─Compiling, linking and signing...                        25.5s
Xcode build done.                                           79.6s


macOS time command output: real 1m41.720s

Build times fluctuate quite a bit all the time:

  • Build time with Firestore for the first time: 4m20s yesterday, 4m1s today
  • Build time with Firestore after building a couple of times without any changes: 1m42s yesterday, 1m32s and 1m25s today

@walsha2
Copy link
Contributor Author

walsha2 commented Sep 26, 2019

@ksilz Thanks for reporting some of your metrics. I don't know if this is exactly related but I find the fact that the times "fluctuate" to be peculiar.

I wonder if it has to do with this comment from @JosephDunivan in #24909:

When I went into xcode during the build process I noticed that gRCP now wanted to download over 300 files, which was not the case before adding Firestore.

Perhaps the fluctuation (and maybe even the build slowness) is really not part of the "build" process, but actually due to network traffic and having to download files? I have no evidence of this, but always took note of @JosephDunivan comment and your post triggered that memory.

Just trying to spur discussion to hopefully get this issue resolved or investigated by the flutter/firebase teams.

@ksilz
Copy link

ksilz commented Sep 27, 2019

@walsha2 I don't think it's got something to do with network downloads. To exclude downloads, I run a couple of builds to make sure that I got all downloads cached and Xcode is warmed-up.

I use iStat Menus to put an upload/download counter in my menu bar. I don't see significant downloads there during the build. I think Xcode is just moody, for the lack of a better term. I just ran three iOS builds again, just switching to a browser in-between: 1m45s for the first build, 1m28s for the second one, and 1m26s for the third one.

I think the shorter times for subsequent builds could be the result of caching on the OS level: The build touches a lot of files, and more of them are in the macOS caches after the first build. I got 32 GB of RAM, so there's some space for a file cache. 😁

@escamoteur escamoteur added the a: annoyance Repeatedly frustrating issues with non-experimental functionality label Sep 27, 2019
@escamoteur escamoteur added c: performance Relates to speed or footprint issues (see "perf:" labels) tool Affects the "flutter" command-line tool. See also t: labels. platform-ios iOS applications specifically labels Sep 27, 2019
@FarmaanElahi
Copy link

I am facing the same issue.It was talking ~ 15min to build the project using the new build system. After going back to legacy build, it is now ~4 min for clean build and ~ 30 sec for cached build

@kbrmimbyl
Copy link

@FarmaanElahi What's a legacy build?

@snadal
Copy link

snadal commented Oct 8, 2019

@kbrmimbyl On Xcode -> File -> Project Settings -> Build system you can switch between "New Build System" and "Legacy Build System".

However, in my case switching to "Legacy Build System" does not improve build time at all. Bitrise takes longer than 40 minutes as soon as you add cloud_firestore plugin.

My hope was to not to use_frameworks on Podspec, which seemed to do things a little bit faster, but it was a false positive. I've tried every recommendation without joy :(

It's so painful that we are dropping usage of cloud_firestore on all our applications until a permanent fix is found.

@kbrmimbyl
Copy link

Thanks @snadal. I think Firestore is worth dropping for other reasons, too. I've tried it for a year now. The moment you want your code to come of age, Firestore fails you.

@Crypt0Graphic
Copy link

I try flutter firebase tutorial from codebase.*

When i add FireStore to dependencies, it takes so long time to build with this message:

(This is taking an unexpectedly long time.)

When i change a few setting like Legacy Build System, it is getting worse. I always get this error in VS Code:

Could not find the built application bundle at build/ios/iphonesimulator/Runner.app.
Error launching application on iPhone 11 Pro Max.

Really annoying.

@kroikie
Copy link

kroikie commented Oct 13, 2019

@walsha2

This issue has been moved to firebase/flutterfire#349. Any further collaboration will be done there.

@kbrmimbyl
Copy link

Not sure if others have noticed: this whole "extremely slow" issue didn't exist in Flutter 1.0.0.

@Maubic
Copy link

Maubic commented Nov 8, 2019

@kbrmimbyl Just to confirm... do you mean that in 1.0.0 it was building without delays and this issue was included on subsequent versions?

@kbrmimbyl
Copy link

kbrmimbyl commented Nov 9, 2019 via email

@MauScheff
Copy link

MauScheff commented Dec 14, 2019 via email

@walsha2
Copy link
Contributor Author

walsha2 commented Dec 14, 2019

@mauzepeda this is now being tracked here firebase/flutterfire#349 (official thread on this issue)

Best to comment there to give this issue as much visibility as possible so the flutter/firestore team can hopefully resolve.

@rlechetaudemy
Copy link

same here.

@mohnoor94
Copy link

Same problem.

@SteadyAction
Copy link

SteadyAction commented Apr 29, 2020

same problem. it has been like 1 year. It's actually better if I just build runner in Xcode

@monkeydaichan
Copy link

same here...

@jimmont
Copy link

jimmont commented Aug 3, 2020

a working solution can be found (copied below) with more detail in firebase/flutterfire#2751

note to apply, lookup the current tag for the specific repo shown, then in ios/Podfile add that pod entry immediately following target 'Runner' do like this:

target 'Runner' do
  pod 'FirebaseFirestore', :git => 'https://github.com/invertase/firestore-ios-sdk-frameworks.git', :tag => '6.29.0'

this immediately resolved all slowness when initially implementing cloud firestore in my project (once it worked--in my case updating the tag to latest was necessary)

@kaychess
Copy link

Hello there,

I tried to

  1. Remove all external devices/external monitors etc
    2.Stopped any tasks/Programs that I feel would require GPU <-- [Optional]
  2. Then ran the build in android studio.

Build time came down from 9 min to 1~2 min max.

Please try it. Hope that helps :)

@cyclone-pk
Copy link

after 1 and half year still taking long time to build iOS . and it does effect my development. i keep waiting so long that I lost My Focus.
last build take 346.6 second to build .

@Hesamedin
Copy link

I don't have a noticeable problem when I build on my laptop. However, the situation on CI is different for iOS.
I am using the Azure platform for CI/CD stuff.

I have/had these dependencies in my pubspec.yaml file:

firebase_auth: ^0.18.4+1      # https://pub.dev/packages/firebase_auth
cloud_firestore: ^0.14.4      # https://pub.dev/packages/cloud_firestore
firebase_storage: ^5.2.0      # https://pub.dev/packages/firebase_storage

Android
It takes around 4 minutes on Azure with or without the above dependencies to build apk file. On my laptop, it is much faster, around 1 minute.

iOS
It takes around 4 minutes on my laptop to build for ios. My MacBook is the latest one with 64GB of RAM, Processor 2.4GHz 8-core, intel core i9. The fan of the laptop works hard in this period

It takes around 25 minutes on Azure to build for iOS with the above dependencies.
It takes around 10 minutes on Azure to build for iOS without the above dependencies.

I have a task to export ipa after the build.
It takes around 25 minutes on Azure to export ipa with the above dependencies.
It takes around 5 minutes on Azure to export ipa without the above dependencies.

@jmagman
Copy link
Member

jmagman commented Jan 30, 2021

This Flutter issue is closed, and it instead being tracked by the Firebase team FirebaseExtended/flutterfire#2751.

You should comment on that thread so the team who can actually make improvements to this can see it.

@flutter flutter locked as resolved and limited conversation to collaborators Jan 30, 2021
@flutter-triage-bot flutter-triage-bot bot added the package flutter/packages repository. See also p: labels. label Jul 5, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
a: annoyance Repeatedly frustrating issues with non-experimental functionality a: build Building flutter applications with the tool a: quality A truly polished experience c: performance Relates to speed or footprint issues (see "perf:" labels) p: cloud_firestore Firebase Firestore plugin p: firebase Firebase plugins package flutter/packages repository. See also p: labels. platform-ios iOS applications specifically tool Affects the "flutter" command-line tool. See also t: labels.
Projects
None yet
Development

No branches or pull requests