Ringkasan
Kami tidak dapat mengakses kamera dari aplikasi web layar awal iOS11 (rilis publik) baik menggunakan WebRTC atau input file, detail di bawah ini. Bagaimana bisa pengguna kami terus mengakses kamera?
Kami melayani halaman aplikasi web melalui https.
Pembaruan, April
Rilis publik iOS 11.3 tampaknya telah memperbaiki masalah dan akses kamera input file berfungsi lagi!Pembaruan, Maret
Seperti yang dikatakan orang-orang di sini, dokumen Apple menyarankan fungsi kamera aplikasi web kembali dalam 11.3 bersama dengan pekerja layanan. Ini bagus tapi kami belum yakin apakah kami ingin semua orang menginstal ulang sampai kami benar-benar menguji pada 11.3GM.
Solusi, November
Kami kehilangan harapan Apple ingin memperbaiki ini dan bergerak maju. Dimodifikasi aplikasi web kami untuk menghapus fungsi "Tambahkan ke layar awal" iOS dan meminta pengguna yang terpengaruh untuk menghapus ikon layar beranda sebelumnya.Pembaruan, 6 Desember
iOS 11.2 dan iOS 11.1.2 tidak diperbaiki.
Penanganan masalah, 21 September
Sepertinya kita bisa bertanya kepada pelanggan aplikasi web yang ada
- tidak meningkatkan ke iOS11 - semoga berhasil :)
- ambil foto di kamera iOS lalu pilih kembali di aplikasi web
- tunggu ios beta berikutnya
- instal ulang sebagai halaman Safari di browser (setelah kami menghapus logika ATHS)
- beralih ke Android
Input File
Kode produksi kami saat ini menggunakan input file yang telah bekerja dengan baik selama bertahun-tahun dengan iOS 10 dan lebih lama. Di iOS11 berfungsi sebagai tab Safari tetapi tidak dari aplikasi layar beranda. Dalam kasus terakhir kamera dibuka dan hanya layar hitam yang ditampilkan, karenanya tidak dapat digunakan.
<meta name="apple-mobile-web-app-capable" content="yes">
...
<input type="file" accept="image/*">
WebRTC
Safari 11 di iOS11 menawarkan penangkapan media WebRTC yang hebat.
Kita dapat menangkap gambar kamera ke kanvas di halaman web normal di desktop dan seluler menggunakan navigator.mediaDevices.getUserMedia per kode sampel yang ditautkan di sini .
Saat kami menambahkan halaman ke layar beranda iPad atau iPhone, navigator.mediaDevices
menjadi undefined
dan tidak dapat digunakan.
<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;