Repository: flutter
Issue: [iOS] Crash during integration tests, 'package:flutter/src/widgets/binding.dart': Failed assertion: 'sendFramesToEngine': is not true.
Labels: a: tests,c: crash,platform-ios,framework,customer: crowd,f: integration_test,has reproducible steps,P2,found in release: 2.5,found in release: 2.6,team-ios,triaged-ios

Hello, I'm back with my integration test crash (https://github.com/flutter/flutter/issues/86778) as I can't comment on it.

```console
══╡ EXCEPTION CAUGHT BY FLUTTER FRAMEWORK ╞══════════════════════
The following assertion was thrown while executing callbacks for
FrameTiming:
'package:flutter/src/widgets/binding.dart': Failed assertion:
line 858 pos 16: 'sendFramesToEngine': is not true.

Either the assertion indicates an error in the framework itself,
or we should provide substantially more information in this error
message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on
GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack:
#2      WidgetsBinding.drawFrame.<anonymous closure> (package:flutter/src/widgets/binding.dart:858:16)
#3      SchedulerBinding._executeTimingsCallbacks (package:flutter/src/scheduler/binding.dart:289:19)
#7      _invoke1 (dart:ui/hooks.dart:182:10)
#8      PlatformDispatcher._reportTimings (dart:ui/platform_dispatcher.dart:441:5)
#9      _reportTimings (dart:ui/hooks.dart:120:31)
(elided 5 frames from class _AssertionError and dart:async)

The TimingsCallback that gets executed was:
  Closure: (List<FrameTiming>) => void
```

I have test on **master, beta** and **stable** and none of the channel works, still getting this crash. 

I have tried to comment the line `package:flutter/src/widgets/binding.dart:858:16` and then everything is working. But I don't know what this assert is preventing and how I can change so it is good. I'm able to reproduce this on my mac and on our CI. 

This is what look like one of my tests:

<details> 
<summary>minimal code sample</summary> 

```dart
import 'package:flare_flutter/flare_testing.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
import 'package:flutter_test/flutter_test.dart';
import 'package:integration_test/integration_test.dart';
import 'package:kiwi_mobile/auth/auth_manager.dart';
import 'package:kiwi_mobile/common/preferences/shared_preferences_provider.dart';
import 'package:kiwi_mobile/l10n/common_localizations.dart';
import 'package:kiwi_mobile/l10n/error_localizations.dart';
import 'package:kiwi_mobile/main-testing.dart' as app;

import 'utils.dart';

Future<void> _moveToLoginScreen(WidgetTester tester) async {

  await tester.tap(find.byWidgetPredicate((widget) => widget is IconButton && (widget.icon as Icon).icon == Icons.menu));
  await tester.pumpAndSettle();
  await tester.pumpAndSettle();
  final ctaFinder = find.byKey(Key('ctaButton'));
  expect(
    ctaFinder,
    findsOneWidget,
    reason: 'can\'t find CTA button acting as login button',
  );
  await tester.tap(ctaFinder);
  await tester.pumpAndSettle();
  expect(
    find.byKey(Key('loginScreen')),
    findsOneWidget,
    reason: 'can\'t find login screen',
  );
}

void main() {
  final binding = IntegrationTestWidgetsFlutterBinding.ensureInitialized() as IntegrationTestWidgetsFlutterBinding;
  binding.framePolicy = LiveTestWidgetsFlutterBindingFramePolicy.fullyLive;

  FlareTesting.setup();
  final commonLocalizations = CommonLocalizations();
  final errorLocalizations = ErrorLocalizations();

  setUp(() async {
    await app.reset();
    await SharedPreferencesProvider.instance.deleteSecure(AuthManager.keyToken);
  });

  testWidgets('Login phone number error', (WidgetTester tester) async {
    await moveToCashRegister(tester);
    await _moveToLoginScreen(tester);

    await tester.enterText(find.byKey(Key('phoneNumberField')), '555');
    await tester.pumpAndSettle();

    // Verify error on screen
    expect(
      find.text(errorLocalizations.phoneIncorrect),
      findsOneWidget,
    );
  });
}
``` 
	
</details>

Any idea how I can track the root cause of this?