Моя среда:
- missions_handler 3.0.0
- Флаттер v1.2.1
- OSX High Sierra 10.13.6
- Xcode version 10.1.
Мое приложение падает, когда я запрашиваю разрешение на микрофон в симуляторе iOS.
PermissionStatus mic = await PermissionHandler()
.checkPermissionStatus(PermissionGroup.microphone);
print('microphone permission? ${mic.toString()}');
try {
if (mic != PermissionStatus.granted) {
await PermissionHandler().requestPermissions([PermissionGroup.microphone]);
}
} catch (e) {
print(e);
}
Ошибка не выброшена или перехвачена, но в консоли отладки флаттера я вижу:
flutter: microphone permission? PermissionStatus.unknown
Lost connection to device.
Это означает, что checkPermissionStatus()
вернул unknown
. Но потом, когда я запрашиваю разрешение, приложение вылетает. Я не смог попробовать это на реальном iPhone. Все отлично работает на симуляторе Android.
Я видел, что в Xcode 10.1 были проблемы с микрофоном:
Что я пробовал
- Свежая сборка с
flutter clean
- Изменение входа микрофона симулятора в Аппаратное обеспечение> Аудиовход
Я мог бы попытаться перейти на Xcode 10.2, но сначала мне нужно было получить mojave. Попытка избежать этого, если это возможно, поскольку это может даже не решить проблему. Я также могу попробовать использовать настоящее устройство iPhone вместо симулятора. Хотелось бы, чтобы симулятор не грохнулся.
Кто-нибудь может предоставить разрешение микрофона в симуляторе Xcode 10.1
/ 10.2
, используя permission_handler: 3.0.0
? А как насчет другого плагина разрешения флаттера?