Flutter beacons_plugin - Необработанное исключение: MissingPluginException (Реализация для метода startMonitoring на канале beacons_plugin не найдена)

Я столкнулся с такой ситуацией: плагин и мой код отлично работали в Android, но в iOS произошли следующие ошибки:
(Снимок экрана - моя репутация слишком низкая, чтобы публиковать изображения. Для удобства чтения я сделал снимок экрана консоли отладки VSCode; ошибки были такими же при запуске из Xcode)

https://user-images.githubusercontent.com/10349431/94634472-b2d42e80-0302-11eb-9dc7-fa2956511b82.png

На снимке экрана отладки показано, что исключения имели место при вызове метода startMonitoring, но после того, как я прокомментировал связанные коды, он превратился в другие методы (например, stopMonitoring, addRegion и т. д.).

(Кстати, сообщения об ошибках могут состоять из сотен строк - на скриншоте выше было всего 381 строка сообщений об ошибках.)

Моя среда:

MacOS 10.15.7
iOS 12.4.8 (iPad) 13.3 (iPhone)
Android 8.0.0
Xcode 12.0.1 (12A7300)
VSCode 1.49.2
Android Studio 4.0.1 со всеми SDK после Android 5.1 Lollipop

Спасибо за любую помощь!


person CCK    schedule 30.09.2020    source источник


Ответы (2)


Я понял ... В этом случае BeaconsPlugin.listenToBeacons не следует размещать ниже addRegion или startMonitoring/stopMonitoring. Он должен быть в первой строке всех действий этого плагина в области initPlatformState, как и в пример.

Простите за тупой вопрос.

person CCK    schedule 02.10.2020

Эта ошибка чаще всего возникает, когда вы пытаетесь выполнить горячую перезагрузку или горячий перезапуск после добавления нового пакета в ваш pubspec.yaml.

Просто остановите работающий проект (приложение), а затем снова запустите его. Так что добавленный пакет (который содержит реализации) также отправляется на устройство

проверьте: https://stackoverflow.com/a/60088062/11989529

и это: MissingPluginException при использовании плагина для флаттера

та же проблема

person Ahmed Elsayed    schedule 30.09.2020
comment
Спасибо за ответы! Однако я пробовал все способы, которые мог получить от Google, даже удалил проект и перестроил его или создал новый проект с тем же плагином. Все это дало одинаковый результат. - person CCK; 30.09.2020