スタンドアロンモードで実行されているPWAに関して、iOS 13.2 / 13.3でリグレッションを見つけたと思います。
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>
iOS 13.1以下のデバイスでスタンドアロンモードでPWAを実行すると、すべてが期待どおりに機能します。SafariでブラウザモードでPWAを実行すると、iOSのバージョンに関係なくすべてが機能します。
iOS 13.2または13.3を搭載したデバイスでPWAを実行すると、PWAをバックグラウンドにしてから再びフォアグラウンドにするまで機能が動作します。PWAがバックグラウンドに送信された後、キャプチャはカメラを起動しますが、プレビューは真っ黒です。すべてのカメラコントロール(フラッシュなど)は機能しますが、写真は撮られません。
XCodeコンソールロガーを接続してテストを実行したところ、アプリがバックグラウンドで1回起動された後でAVCaptureSessionを開始できないようです。
次に、デバイスログのトレースを示します。
Angular 8でPWAを構築しています。
誰かがこのようなものを見たか、私たちにヒントを与えることができますか?