özet
Kameraya bir iOS11 (genel sürüm) ana ekran web uygulamasından WebRTC veya aşağıdaki dosya girişini kullanarak erişemiyoruz, ayrıntılar. Kullanıcılarımız kameraya erişmeye nasıl devam edebilir?
Web uygulama sayfasını https üzerinden sunuyoruz.
Güncelleme, Nisan
İOS 11.3'ün genel sürümü sorunu çözmüş gibi görünüyor ve dosya giriş kamera erişimi tekrar çalışıyor!Güncelleme, Mart
Buradaki insanlar, Apple belgelerinin web uygulaması kamera işlevinin servis çalışanları ile birlikte 11.3'te geri döndüğünü tavsiye ettiğini söylediler. Bu iyi ama henüz 11.3GM'de kapsamlı bir test yapana kadar herkesin yeniden yüklemesini isteyip istemediğimizden emin değiliz.
Çözüm, Kasım
Apple'ın bunu düzeltmek istediğine dair umudumuzu yitirdik ve ilerledik. Web uygulamamızı iOS "Ana ekrana ekle" işlevini kaldıracak şekilde değiştirdik ve etkilenen kullanıcılardan önceki ana ekran simgelerini kaldırmalarını istedi.Güncelleme, 6 Aralık
iOS 11.2 ve iOS 11.1.2 düzeltilmiyor.
Geçici Çözümler, 21 Eylül
Görünüşe göre web uygulamasının mevcut müşterilerine sorabiliriz
- iOS11'e yükseltme yapmayın - bunda iyi şanslar :)
- iOS kamerada fotoğraf çekin ve ardından bunları web uygulamasında tekrar seçin
- sonraki ios beta için bekle
- Safari tarayıcı içi sayfası olarak yeniden yükleyin (ATHS mantığını kaldırdıktan sonra)
- Android'e geç
Dosya Girişi
Mevcut üretim kodumuz, iOS 10 ve daha eski sürümlerle yıllarca iyi çalışan bir dosya girişi kullanıyor. İOS11'de bir Safari sekmesi olarak çalışır ancak ana ekran uygulamasından değil. İkinci durumda, kamera açılır ve yalnızca siyah bir ekran gösterilir, bu nedenle kullanılamaz.
<meta name="apple-mobile-web-app-capable" content="yes">
...
<input type="file" accept="image/*">
WebRTC
İOS11'deki Safari 11 , harika olan WebRTC ortam yakalama özelliği sunar .
Buraya bağlanan örnek koda göre navigator.mediaDevices.getUserMedia kullanarak masaüstünde ve mobil cihazda normal bir web sayfasında bir kamera görüntüsünü tuvale yakalayabiliriz .
Biz iPad veya iPhone ana ekranına sayfasını eklerken, navigator.mediaDevices
olur undefined
ve kullanışsız.
<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;