美文网首页
iOS 屏幕录制踩坑,送给需要的人

iOS 屏幕录制踩坑,送给需要的人

作者: 一次路过 | 来源:发表于2020-09-10 16:15 被阅读0次

最近在使用腾讯实时音视频SDK实现屏幕录制推流功能。跟着官方文档一顿操作,咦~~~咋就不行能。

参考文档:

https://www.jianshu.com/p/401b5b632d5b

https://blog.csdn.net/holdsky/article/details/102602213

https://blog.csdn.net/weixin_30265171/article/details/98812687

http://www.openradar.me/FB7671583

踩过的坑一:

按照文档的操作,一顿设置。满心欢喜的run,以为成功就在眼前,结果,点击屏幕共享之后,没有任何反应。

之后尝试从控制中心中长按录屏按钮来手动启动屏幕分享。然后,更加绝望的事情来了,不显示我的Demo。如图1所示:

图1

一番排查下来,发现,少了个步骤。创建了target之后,需要在xcode中,选择新创建的target,build,然后再run,在弹出的会话框里选择主APP,如图2所示。之后,再切换主APP的target,run,之后,调用屏幕共享的方法之后,控制中心中长按录屏按钮弹出的会话框里就有了Demo。感觉距离成功又近了一步。

图2

踩过的坑二:

继续,发现事情并没有那么简单。点击共享屏幕按钮,毫无反应。且在屏幕分享按钮的响应函数中调用了TRTCBroadcastExtensionLauncher的方法launch。TRTCBroadcastExtensionLauncher如图3所示:

图3

没有明显的报错,没有提示。嗯~遇到这种问题,着实脑瓜疼。检查控制台输出日志,终于,在一片的日志中发现了如下输出:

[Assert]Error in UIKit client: -[UIWindow setScreen:]should not be called if the client adopts UIScene lifecycle. Call -[UIWindow setWindowScene:]instead.

各种排查之后,意识到问题可能是出在了Xcode11的新特性SceneDelegate上。Xcode11新变化:SceneDelegate

删除SceneDelegate之后,再次Run,完美。一切都刚刚好。

相关文章

网友评论

      本文标题:iOS 屏幕录制踩坑,送给需要的人

      本文链接:https://www.haomeiwen.com/subject/yyikzttx.html