Binnen ons bedrijf ontwikkelen we een app, die de afgelopen twee jaar native gebouwd is in Swift en in Kotlin. Nu willen we gebruik gaan maken van Flutter om onze ontwikkeling te gaan versnellen en met één codebase te kunnen gaan werken. We gaan niet in één keer beide apps omzetten, maar zullen nieuwe functionaliteit in Flutter doen en geleidelijk de andere app onderdelen gaan omzetten van native naar Flutter.
Voor Android werkt dat perfect en is een nieuw stuk functionaliteit dat we hebben ontwikkeld direct te integreren. Op iOS blijkt dat helaas hele andere koek. Zodra we de app openen en navigeren naar een ingebouwd Flutter scherm, ontstaat een crash met de volgende exceptie:
We hebben al enorm veel gezocht, gegoogled en meer en daarbij kwamen we op een vergelijkbaar issue op GitHub: https://github.com/firebase/flutterfire/issues/9582. De suggestie hier is om alle Firestore operations alleen in Flutter te doen, maar dat zou in dit geval (gezien de bestaande codebase) echt enorm veel refactor werk zijn dat in één keer moet plaatsvinden. Daar hebben we nu geen tijd voor.
Concreet de vraag:
Voor Android werkt dat perfect en is een nieuw stuk functionaliteit dat we hebben ontwikkeld direct te integreren. Op iOS blijkt dat helaas hele andere koek. Zodra we de app openen en navigeren naar een ingebouwd Flutter scherm, ontstaat een crash met de volgende exceptie:
code:
1
| Terminating app due to uncaught exception 'FIRIllegalStateException', reason: 'Firestore instance has already been started and its settings can no longer be changed. You can only set settings before calling any other methods on a Firestore instance.' |
We hebben al enorm veel gezocht, gegoogled en meer en daarbij kwamen we op een vergelijkbaar issue op GitHub: https://github.com/firebase/flutterfire/issues/9582. De suggestie hier is om alle Firestore operations alleen in Flutter te doen, maar dat zou in dit geval (gezien de bestaande codebase) echt enorm veel refactor werk zijn dat in één keer moet plaatsvinden. Daar hebben we nu geen tijd voor.
Concreet de vraag:
- Is iemand bekend met bovenstaand issue en weet of het mogelijk is om Firestore te initialiseren en gebruiken in zowel de native als Flutter delen van de app
- Of weet iemand een alternatieve oplossing, desnoods quick and dirty maar werkbaar, om een adapter van native naar flutter te ontwikkelen voor het uitvoeren van Firestore operations?