After installing the app from App Store or TestFlight, when the user opens the app and then force-kills it multiple times, the app sometimes gets permanently stuck on a black screen at launch.
This issue does NOT happen on Flutter 3.24.5 — works perfectly on all tested iOS devices.
The problem started only after migrating to Flutter 3.35.6.
This issue happens only in real production installs (App Store / TestFlight).
It does not reproduce in Debug mode or through Xcode run / Android Studio run.
Expected behavior
App should show native splash → render Flutter UI normally.
Actual behavior
Sometimes after killing the app repeatedly:
Native splash shows briefly → then screen turns completely black and stays stuck
Steps to Reproduce:
Install the app from App Store or TestFlight
Launch the app
Force-kill the app using app switcher
Repeat launch + kill multiple times
After 3–7 attempts, app gets stuck on black screen on launch
Is this a known issue with the latest Flutter iOS engine?
Could this be related to Flutter engine warm-up, pre-warming isolates, or native splash transition?
Is there any recommended fix or workaround on iOS side? (e.g., ApplicationDidBecomeActive callbacks, UIWindow setup, GPU thread rendering flush, etc.)
Selecting any option will automatically load the page
Post
Replies
Boosts
Views
Activity
i'm integrating In-App Purchases in our Flutter app using the official in_app_purchase plugin. We are currently testing consumable purchases and facing issues with the way events are delivered from StoreKit to the app.
Implementation details
I initiate the purchase with:
await InAppPurchase.instance.buyConsumable(purchaseParam: purchaseParam);
I listen for purchase updates with:
final Stream<List> purchaseUpdated = inAppPurchase.purchaseStream;
_subscription = purchaseUpdated.listen((purchaseDetailsList) {
_handlePurchaseUpdates(purchaseDetailsList);
}, onError: (Object error) {
updateApplePaymentStatus(isSuccess: false, response: jsonEncode(error.toString()));
}, onDone: () {
_subscription.cancel();
});
Issues Observed
Control on purchase button event
As soon as the user taps the purchase button, the App Store purchase sheet is shown.
Question: Is there a way to intercept control at this point (before showing the sheet) to perform additional checks or logging?
Cancelled payment after UPI intent
In our testing with UPI payment flows (UPI intent triggered from Apple Pay/linked payment method), if the user cancels the payment from the external flow, we don’t see a clear event in purchaseStream.
Question: How can we reliably capture this cancellation status on the app side?
Event timing after successful purchase
Currently, the purchaseStream event is only triggered after the StoreKit purchase confirmation popup has been dismissed by the user.
Question: Is there a way to capture the event earlier (i.e., right after StoreKit confirms payment success), so we can update our backend and UI without waiting for popup dismissal?
Request
We would appreciate guidance on:
Best practices for intercepting purchase initiation before the StoreKit sheet.
Recommended way to detect and handle cancelled payments (especially in UPI flows) managed on frondend side.
Whether it is possible to receive successful purchase events without waiting for the user to dismiss the confirmation dialog.
Thank you for your support.