我已经在Swift中为iOS开发了一个应用程序,该应用程序使用Airplay /屏幕镜像在外部屏幕上生成第二个显示器,该显示器呈现出与本地屏幕不同的用户界面。这与外部显示适配器或通过Airplay到Apple TV的效果很好。它通过检测对UIScreen的更改并创建一个新的UIWindow并在该窗口上打开一个新的ViewController来工作。没什么,不过很满足我的需求。
我一直希望添加的功能之一是在有人没有外部屏幕/ ATV的情况下将iOS转换为iOS流的一种方法。从本机来看,似乎没有办法将Airplay屏幕镜像映射到另一台iOS设备,至少我没有发现。
我已经研究过尝试使用ReplayKit来实现这一点,但是不幸的是ReplayKit似乎只记录了主UIWindow,而我却无法创建一个不会阻塞主屏幕和输出管道的良好虚拟窗口可靠地播放。尝试将主窗口替换为新窗口并隐藏它,但结果不一致。
还考虑不使用Airplay,而是使用Multipeer Connectivity传输第二个显示器所需的数据元素,并可以选择让应用进入“接收器”模式。这种工作方式似乎还存在问题,并且容易使问题不同步,并增加了我通常不需要的大量开销和其他网络代码。
希望查看是否有人对实现此目标有任何想法或建议,最好使用UIScreen / Airplay而不使用基于MPC的解决方案。敞开心ideas。