Skip to content

Crash on TestFlight external testing #21

@WDtms

Description

@WDtms

Контекст:
Краш воспроизводится исключительно на TestFlight: external testing
Первая страница после сплеша, показываемая пользователю, содержит YandexMap.

Проблема:
Во время первого запуска приложения через TestFlight: external testing, пользователям показывается белый экран с информацией о том, что изменилось в новой сборке. В это время приложение уже запускается и начинает показывать экран с яндекс картами.
При инициализации карт происходит установка focusRect:

    final ScreenPoint? screenPoint = await _yandexMapController?.getScreenPoint(
      Point(
        latitude: initialCityCoordinates.latitude,
        longitude: initialCityCoordinates.longitude,
      ),
    );
    if (screenPoint == null) {
      return;
    }

    focusRect = ScreenRect(
      topLeft: ScreenPoint(
        x: screenPoint.x * 0.5,
        y: screenPoint.y * 0.6,
      ),
      bottomRight: ScreenPoint(
        x: screenPoint.y,
        y: screenPoint.y * 0.9,
      ),
    );

Здесь и случается критическая ошибка, приводящая к крашу:

'Attempt to set invalid focusRect: rect.topLeft >= rect.bottomRight

Эту ошибку нельзя починить из Flutter опробованным мною путем - сравнение topLeft и bottomRight, т.к. проблема, судя по всему, случается уже только в нативной части.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions