相关疑难解决方法(0)

如何在iOS11主屏幕Web应用程序上访问相机?

摘要

我们无法使用WebRTC或文件输入从iOS11(公开发布)主屏幕Web应用程序访问相机,详情如下.我们的用户如何继续访问相机?

我们通过https提供网络应用页面.

4月更新

iOS 11.3的公开发布似乎解决了问题,文件输入摄像头访问再次正常工作!

3月更新

正如这里的人们所说,Apple docs建议网络应用程序相机功能在11.3与服务工作者一起返回.这很好,但我们还不确定是否我们希望每个人都重新安装,直到我们可以对11.3GM进行彻底测试.

解决方案,11月

我们失去了希望,苹果希望解决这个问题并向前迈进.修改了我们的网络应用程序以删除iOS"添加到主屏幕"功能,并要求受影响的用户删除任何以前的主屏幕图标.

12月6日更新

iOS 11.2和iOS 11.1.2无法修复.

解决方法,9月21日

似乎我们可以向Web应用程序的现有客户询问

  • 不升级到iOS11 - 祝你好运:)
  • 在iOS相机中拍照,然后在网络应用中选择它们
  • 等待下一个ios beta
  • 重新安装为Safari浏览器页面(删除ATHS逻辑后)
  • 切换到Android

文件输入

我们当前的生产代码使用的文件输入在iOS 10及更早版本中运行良好多年.在iOS11上,它可用作Safari选项卡,但不能用于主屏幕应用程序.在后一种情况下,相机被打开并且仅显示黑色屏幕,因此它是不可用的.

   <meta name="apple-mobile-web-app-capable" content="yes">
   ...
   <input type="file" accept="image/*">
Run Code Online (Sandbox Code Playgroud)

的WebRTC

iOS11上的Safari 11提供WebRTC媒体捕获功能,非常棒.

我们可以使用navigator.mediaDevices.getUserMedia根据此处链接的示例代码,在桌面和移动设备上的普通网页上捕捉相机图像到画布.

当我们将页面添加到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 …
Run Code Online (Sandbox Code Playgroud)

javascript html5 camera webrtc ios11

117
推荐指数
3
解决办法
3万
查看次数

Safari 浏览器的视频录制

在我的示例 ReactJs 应用程序中,我使用react-multimedia-capture - 它使用navigator.mediaDevices.getUserMediaMediaRecorder API 来录制视频。

我可以从 Chrome 录制视频,但在 Safari 中我无法捕捉视频。错误是这样的

MediaRecorder 未定义。

有人可以帮助我,例如:
Safari 是否支持基本的视频捕获?

html javascript safari getusermedia

5
推荐指数
2
解决办法
1万
查看次数

标签 统计

javascript ×2

camera ×1

getusermedia ×1

html ×1

html5 ×1

ios11 ×1

safari ×1

webrtc ×1