Я думаю, що ми знайшли регрес в iOS 13.2 / 13.3 щодо PWA, що працюють в автономному режимі.
Оскільки в iOS PWA не може отримати доступ до getUserMedia (), ми покладаємось на атрибут захоплення у вхідному тезі HTML5, щоб дозволити користувачеві сфотографувати та надіслати його на сервер.
Наш код виглядає приблизно так:
<div class="camera-upload">
<input type="file" class="hidden" name="uploadPhotoInput" accept="image/*" capture="environment" (change)="onTakePhoto($event)">
<button type="button" class="btn btn-primary">Take photo</button>
</div>
Коли ми запускаємо PWA в автономному режимі на пристроях з iOS 13.1 або нижчою, все працює як очікувалося. Якщо ми запускаємо PWA у режимі браузера на Safari, все працює незалежно від версії iOS.
Коли ми запускаємо PWA на пристроях з iOS 13.2 або 13.3, функція працює, поки ми не поставимо PWA у фоновий режим, а потім знову на перший план. Після того, як PWA буде надісланий на задній план, знімок запускає камеру, але попередній перегляд має чорний колір. Всі елементи управління камерою (спалах тощо) спрацьовують, але зображення не зроблено.
Ми проводимо тест із доданим реєстратором консолі XCode, і схоже, що AVCaptureSession не може бути запущений після того, як додаток буде розміщено у фоновому режимі один раз.
Ось слід журналів пристроїв:
Ми будуємо наш PWA з кутовим 8.
Хтось бачив щось подібне чи може дати нам підказку?