В документации CoreBluetooth есть метод "поддерживает" в CBCentralManager (=> на Мауи это CBCentralManager.SupportsFeatures), который возвращает, если оборудование поддерживает эту функцию.
Звучит хорошо, но при использовании мы видим неожиданную ошибку. поведение информации, которую мы получаем с помощью метода thims, меняется во время выполнения приложения.
Здесь, на странице поддержки стека, есть более старая тема, которая относится к этому методу, но она не охватывает какое-либо поведение это. => Ссылка
Мы проводили тесты с приложением .NET Maui, работающим на iPhone 14 с iOS 18.0.1.
Если мы проверим функция при запуске нашего приложения (сразу после создания экземпляра CBCentralManager) сообщает нам, что эта функция не поддерживается. Позже, после первого изменения состояния на состояние PowerOn, нам по-прежнему сообщается, что эта функция не поддерживается. Через несколько секунд, перед тем как мы попытаемся запустить сканирование, функция поддерживается.
Кто-то еще видел такое же поведение? Связано ли это с Maui или Xamarin (там оно ведет себя одинаково)? Есть ли способ заставить правильное чтение?
Любой вклад будет приветствоваться...
ОБНОВЛЕНИЕ: после того, как меня проголосовали против и бот попросил меня более четко объяснить, что меня беспокоит. Я решил вкратце добавить, в чем моя проблема:
- Проблема возникает с Приложение .NET MAUI, работающее на iPhone 14 с iOS 18.0.1
- Вызов API CoreBluetooth «CBCentralManager.SupportsFeatures(CBCentralManagerFeature.ExtendedScanAndConnect)» возвращает false при запуске приложения и true позже при запуске сканирование.
Подробнее здесь: https://stackoverflow.com/questions/790 ... -app-start
Мобильная версия