Я пишу нативное приложение для iOS с Xamarin. Нативное приложение содержит всего несколько строк кода, в основном это оболочка веб-сайта. Само нативное приложение состоит из WebView, который загружает одностраничное приложение.
Веб-сайт использует этот пакет узлов (https://www.npmjs.com/package/@zxing/library) для реализации сканера штрих-кода. Сканер использует камеру на iPadдля сканирования штрих-кодов. Когда вы начинаете сканирование, веб-сайт запрашивает разрешение на доступ к камере, а затем запускает ее, чтобы начать сканирование.
Если я получаю доступ к своему веб-сайту напрямую через Safari на iPad, то сканер работает отличноКогда я звоню, чтобы начать сканирование, Safari запрашивает разрешение на доступ к камере, я даю ее, и она работает.
Когда я использую свое родное приложение для доступа к веб-сайту (который опять-таки состоит только изWebView), то я никогда не получаю запрос на разрешение доступа к камере. Div, в котором находится сканер штрих-кода, просто показывает пустой белый фон.
Я добавил тег NSCameraUsageDescription в свой Info.plist и дал емудостаточно длинное описание. Я добавил ссылку на пакет NuGet, которыйпозволяет вручную запрашивать разрешение на камеру. Я также попытался вручную зайти в настройки приложения iPad и таким образом предоставить разрешения для камеры. Ничего не сработало. Мне никогда не предлагается доступ к камере. Камера никогда не включается / не начинает сканирование.
Я не понимаю, почему сканер прекрасно работает на iPad в Safari, но не работает в нативном приложении?