iOS11 홈 화면 웹 앱에서 카메라에 액세스하는 방법은 무엇입니까?
요약
WebRTC 또는 파일 입력을 사용하여 iOS11 (공개 릴리스) 홈 화면 웹 앱에서 카메라에 액세스 할 수 없습니다 (아래 세부 정보 참조). 사용자가 어떻게 카메라에 계속 액세스 할 수 있습니까?
우리는 https를 통해 웹 앱 페이지를 제공하고 있습니다.
4 월 업데이트
iOS 11.3의 공개 릴리스에서 문제가 해결 된 것으로 보이며 파일 입력 카메라 액세스가 다시 작동합니다!
3 월 업데이트
여기 사람들이 말한 것처럼 Apple 문서는 11.3에서 서비스 작업자와 함께 웹 앱 카메라 기능이 다시 작동한다고 조언합니다. 이것은 좋지만 11.3GM을 철저히 테스트 할 수있을 때까지 모든 사람이 다시 설치하기를 원하는지 아직 확실하지 않습니다.
솔루션, 11 월
우리는 애플이이 문제를 해결하고 싶다는 희망을 잃어 버렸다. iOS "홈 화면에 추가"기능을 제거하도록 웹 앱을 수정하고 영향을받는 사용자에게 이전 홈 화면 아이콘을 제거하도록 요청했습니다.
12 월 6 일 업데이트
iOS 11.2 및 iOS 11.1.2는 수정되지 않습니다.
해결 방법, 9 월 21 일
웹앱의 기존 고객에게 요청할 수있는 것 같습니다
- iOS11로 업그레이드하지 마십시오-행운을 빕니다 :)
- iOS 카메라에서 사진을 찍은 다음 웹 앱에서 다시 선택하십시오.
- 다음 iOS 베타를 기다립니다
- ATHS 로직을 제거한 후 Safari 브라우저 내 페이지로 다시 설치
- 안드로이드로 전환
파일 입력
현재 프로덕션 코드는 파일 입력을 사용하여 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를 사용하여 데스크탑 및 모바일의 일반 웹 페이지에서 카메라 이미지를 캔버스로 캡처 할 수 있습니다 .
우리가 아이 패드 또는 아이폰 홈 화면에 페이지를 추가하면 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;
비슷한 문제가 있습니다. 지금까지 우리가 할 수있는 유일한 해결 방법은 메타 태그를 제거하여 "apple-mobile-web-app-appable"이되도록 메타 태그를 제거하고 사용자가 Safari에서 메타 태그를 열어 모든 것이 정상적으로 작동하는 것처럼 보이게하는 것입니다.
업데이트 : 이전에 게시 된 일부 변경 로그 및 게시를 통해 manifest.json
대신 대신 Web Apps를 사용하여 apple-mobile-web-app-capable
적절한 WebRTC 구현에 액세스 할 수 있다고 믿었지만 불행히도 다른 사람들이 지적하고 테스트 한 것처럼 사실이 아닙니다. 슬픈 얼굴. 이로 인해 불편을 끼쳐 드려 죄송합니다. 멀리 떨어진 은하계에서 운이 좋은 하루는 Apple이 (사파리가 아닌) WebKit이 제공하는 뷰에서 마침내 카메라 액세스를 제공 할 수 있기를 바랍니다.
예, 다른 사람들이 언급했듯이 getUserMedia는 Safari에서만 직접 사용할 수 있지만 UIWebView 또는 WKWebView에서는 사용할 수 없으므로 불행히도 유일한 선택은
<meta name="apple-mobile-web-app-capable" content="yes">
getuserMedia에 액세스 할 수있는 일반 Safari 탭에서 '앱'이 실행되도록 제거- Apache Cordova와 같은 프레임 워크를 사용하여 다른 방법으로 장치의 카메라에 액세스 할 수 있습니다.
Apple이 WebRTC 제한을 나중에보다 빨리 제거하기를 희망합니다.
좋은 소식! 카메라는 마침내 첫 번째 iOS 11.3 베타의 홈 화면 웹 앱에서 액세스 할 수있는 것으로 보입니다.
몇 가지 파일로 리포지토리를 만들었습니다.
https://github.com/joachimboggild/uploadtest
테스트 단계 :
- 휴대 전화에서 액세스 할 수있는 웹 사이트에서 이러한 파일을 제공하십시오.
- iOS Safari에서 index.html을여십시오
- 홈 화면에 추가
- 홈 화면에서 앱을 엽니 다. 이제 탐색 UI없이 웹 페이지가 전체 화면으로 열립니다.
- Press the file button to select an image from camera.
Now the camera should work normally and not be a black screen. This demonstrates that the functionality works again.
I must add that I use a plain field, not getUserMedia or somesuch. I do not know if that works.
Apparently is solved in "ios 13 beta 1": https://twitter.com/ChromiumDev/status/1136541745158791168?s=09
This seems to be working again in iOS 11.4 if you are using a file input field.
참고URL : https://stackoverflow.com/questions/46228218/how-to-access-camera-on-ios11-home-screen-web-app
'programing tip' 카테고리의 다른 글
22Mb의 총 메모리 사용량에도 불구하고 Haskell 스레드 힙 오버 플로우? (0) | 2020.07.24 |
---|---|
Android 가상 장치를 다운로드 할 수있는 저장소가 있습니까? (0) | 2020.07.24 |
Eclipse 용 매크로 레코더가 있습니까? (0) | 2020.07.24 |
이제 무엇을 사용해야합니까 Google 뉴스 API는 더 이상 사용되지 않습니까? (0) | 2020.07.24 |
브라우저 디버깅을 허용하도록 웹팩 구성 (0) | 2020.07.24 |