iOS-Swift使用ReplayKit实现录屏功能

本文介绍了如何在iOS应用中利用Swift和ReplayKit框架实现录屏功能,强调了ReplayKit的便捷性和低内存消耗。文中提到录屏功能需要iOS 9.0及以上版本,并分享了一张简单的录屏demo截图。由于startRecording(withMicrophoneEnabled:)在iOS 10.0被弃用,作者正在寻找替代录音方案。同时,警告ReplayKit与AVPlayer不兼容,且录屏只能在真机上进行。文章最后提供了GitHub上的代码示例链接。
摘要由CSDN通过智能技术生成

iOS-Swift使用ReplayKit实现录屏功能

前段时间有碰到Android用户使用系统录屏发来的一些bug重现录像,iOS端不会用系统录屏的用户都是拍视频联系产品然后反馈给我们开发,这中间有的时候挺耗费时间和精力的,空下来就琢磨了下iOS的录屏使用。录屏用得比较多的是苹果自带的ReplayKit框架,不需要导包,使用比较便捷,而且耗费内存较小,基本忽略不计,这也是我选择ReplayKit的原因,如对功能研究较感兴趣的同学可以忽略本篇。
我使用的手机是锤子M1的是比较老的版本,我对照着锤子做了一个简单的demo,效果图如下:

效果图

系统版本9.0以下ReplayKit是不可使用的,所以在使用前一定要判断系统版本是否符合要求,在Targets->Build Settings->iOS Deployment Target中设置的版本号高于9.0也可使用,也可加if #avaliable(iOS 9.0,*)判断减少此类风险,这边是个大坑,我写的demo中Timer等需要10.0以上版本,所以请勿抬杠,个人因情况而定。
Targets->Build Settings->iOS Deployment Target
工具条对应的文件
“展示录屏控件”触发方法,在给ReplayToolsView中的关闭按钮和录屏开始按钮加事件的时候我是使用的闭包,这样可以控制效果图中红色按钮的状态;对红色按钮的状态判断是为了避免多次点击按钮后ReplayToolsView的叠加;replayVideoView.addGestureRecognizer给replayVideoView添加移动手势,王者荣耀中在录屏时按钮是固定的,以下demo中的录屏可以在整个app中使用,包括记录页面跳转过程等。

@IBAction func show
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值