Выбор фотографий появляется на экране, но:
• Я не могу нажать ни на одну миниатюру фотографии
• Кнопка «Отмена» в верхнем левом углу не реагирует
• Я не могу прокрутить или закрыть средство выбора
• Единственный способ восстановиться — остановить и перезапустить app
Интересно, что журналы Flutter по-прежнему печатают сообщения — поэтому приложение на самом деле не аварийно завершает работу, но кажется, что прозрачное наложение Flutter или модальный барьер блокирует все события касания для собственного средства выбора.
Это происходит только тогда, когда средство выбора открывается из диалогового окна Flutter или модального нижнего листа. Если я вызываю средство выбора с обычного экрана (без какого-либо диалогового окна), оно работает отлично.
Среда:
• Стабильный канал Flutter
• image_picker: ^1.1.2 (последняя версия)
• iOS Simulator (iPhone 16 Plus, iOS 18.5)
• Само приложение «Фотографии» работает нормально вне приложения Flutter
Итак, как мне открыть безопасно использовать средство выбора фотографий iOS из Flutter (даже из диалоговых окон)
без потери сенсорного ввода или зависания пользовательского интерфейса средства выбора?
*Я обнаружил, что кто-то еще сообщил здесь о точно такой же проблеме:
Flutter image_picker зависает на симуляторе iOS 18
Согласно этому обсуждению, это, похоже, ошибка, специфичная для iOS 18 симулятор — средство выбора фотографий отлично работает на симуляторах iOS 17 и реальных устройствах.
Поэтому мне интересно, сохраняется ли эта проблема в последних симуляторах iOS 18,
или уже существует обходной путь или обновление плагина, которое ее решает.*
Я попробовал несколько способов решения этой проблемы:
- Вызов FocusManager.instance.primaryFocus?.unfocus() перед запуском средства выбора.
- Добавление коротких задержек, например await Future.delayed(Duration(milliсекунды: 50))
- Ожидание WidgetsBinding.instance.endOfFrame перед отображением средства выбора.
- Переустановка симулятора iOS и очистка модулей (очистка флаттера, установка модуля)
- Обновление до последних версий image_picker и image_picker_ios
что позволит мне нажимать на фотографии или закрывать его с помощью кнопки «Отмена» Кнопка.
Однако на самом деле средство выбора появилось на экране, но зависло:
сенсорный ввод не работал, кнопка «Отмена» не реагировала, и мне приходилось каждый раз перезапускать приложение.
Подробнее здесь: https://stackoverflow.com/questions/797 ... ter-dialog
Мобильная версия