在iPad上运行应用程序时检测应用程序是否滑过

Aus*_*tin 6 camera ipad ios webrtc swift

我们有一个使用Google原生WebRTC代码的WebRTC Swift 4.2应用程序.我们在iPad上使用Apple的App Slide Over Multitasking功能时遇到了问题.

问题:

我们看到的是,当我们的应用程序在iPad上进行视频通话时,只要另一个应用程序"滑过"我们的应用程序,我们的应用程序就停止使用摄像机和麦克风,直到Slide Over应用程序关闭.关闭后,我们的应用程序将麦克风和相机重新打开

预期结果:

我们的应用程序仍然可以使用相机和麦克风,用户可以同时使用这两个应用程序.

问题:

是否有我们需要打开的设置禁止滑过应用程序?如果没有,我们可以在滑动发生时订阅,我们可以再次请求摄像头和麦克风访问吗?

我们所做的:

  1. 我们已将应用程序设置为在项目设置中要求全屏.
  2. 我们已经尝试在AppDelegate上订阅以下事件:applicationDidEnterBackground,applicationWillResignActive,applicationDidBecomeActive.这些事件会在初始幻灯片应用程序打开和关闭时触​​发一次,但在连续的幻灯片套件与相同应用程序之后不会触发.
  3. 打开所有后台模式功能.没有效果.
  4. 在我们的ViewController.swift上,我们尝试订阅viewWillLayoutSubviews事件.对于使用"幻灯片结束"打开的应用,此事件不会触发

版本:

  • iOS 11.4.1
  • Swift 4.2
  • Xcode 10.1

Aus*_*tin 1

我向苹果提交了一份错误报告,他们说,

“这听起来像是预期的行为,因为一次只允许一个前台应用程序。”