概要
詳細については、WebRTCまたはファイル入力のいずれかを使用して、iOS11(公開リリース)ホーム画面Webアプリからカメラにアクセスすることはできません。ユーザーがカメラに引き続きアクセスするにはどうすればよいですか?
https経由でWebアプリページを提供しています。
更新、4月
iOS 11.3の公開リリースで問題が修正されたようで、ファイル入力カメラへのアクセスが再び機能します!3月の更新
ここの人々が言ったように、アップルのドキュメントはWebアプリのカメラ機能がサービスワーカーと一緒に11.3に戻ることを助言しています。これは良いことですが、11.3GMで完全にテストできるようになるまで、全員に再インストールしてほしいかどうかはまだわかりません。
ソリューション、11月
Appleがこれを修正したいという希望を失い、前進した。iOSの「ホーム画面に追加」機能を削除するようにWebアプリを変更し、影響を受けるユーザーに以前のホーム画面アイコンを削除するように依頼しました。12月6日更新
iOS 11.2およびiOS 11.1.2は修正されません。
回避策、9月21日
Webアプリの既存の顧客に尋ねることができるようです
- iOS11にアップグレードしない-幸運を祈る:)
- iOSカメラで写真を撮り、Webアプリでそれらを選択します
- 次のiOSベータ版を待つ
- Safariのブラウザー内ページとして再インストール(ATHSロジックを削除した後)
- Androidに切り替え
ファイル入力
現在の製品コードは、iOS 10以前で何年もうまく機能していたファイル入力を使用しています。iOS11ではSafariタブとして機能しますが、ホーム画面アプリからは機能しません。後者の場合、カメラが開いて黒い画面のみが表示されるため、使用できません。
<meta name="apple-mobile-web-app-capable" content="yes">
...
<input type="file" accept="image/*">
WebRTC
iOS11上のSafari 11は、素晴らしいWebRTCメディアキャプチャを提供します。
ここにリンクされているサンプルコードに従ってnavigator.mediaDevices.getUserMediaを使用して、デスクトップとモバイルの通常のWebページでキャンバスにカメラ画像をキャプチャできます。
iPadやiPhoneのホーム画面にページを追加するnavigator.mediaDevices
とundefined
、使用できなくなります。
<meta name="apple-mobile-web-app-capable" content="yes">
...
// for some reason safari on mac can debug ios safari page but not ios home screen web apps
var d = 'typeof navigator : ' + typeof navigator; //object
d += 'typeof navigator.mediaDevices : ' + typeof navigator.mediaDevices; // undefined
// try alternates
d += 'typeof navigator.getUserMedia : ' + typeof navigator.getUserMedia; // undefined
d += 'typeof navigator.webkitGetUserMedia : ' + typeof navigator.webkitGetUserMedia; // undefined
status1.innerHTML = d;