iOS11 如何防止用户录屏?

iOS 11中新增了录屏功能,之前的系统要想录屏,只能通过Airplay 或者屏幕镜像软件,例如 Reflector。有了录屏功能确实方便了用户,但对于一些做内容的公司和网站,特别是视频网站,并不希望自己的付费视频被录制并在互联网上传播。

那么ios系统下如何避免自己app的内容被录屏呢?

iOS 11 SDK 中新增了UIScreen的API用以告知应用当前屏幕正在录屏。当UIScreen.isCaptured 为true时,表示当前屏幕正在被录制、镜像或被Airplay 发送。以下几种情况下UIScreen.isCaptured 的值为true:

  1. 使用iPhone控制中心的屏幕录制控件,如图1所示;
  2. 使用Mac的QuickTime Player,如图2所示;
  3. 在iPhone上使用Airplay或镜像软件,如图3所示;
  4. 屏幕正在被拷贝到其他地方;

这里写图片描述


图1


这里写图片描述


图2


这里写图片描述


图3


当录屏状态发生变化时,UIKit会发送UIScreenCapturedDidChange的notification,该notification的object参数即为isCaptured属性发生变化的 UIScreen对象,另外,notification没有userInfo参数。

基于此,我们可以在应用中接收此通知,来对用户的录屏行为做相应的处理。比如,在视频app中,我们可以添加通知来监测 UIScreen.isCaptured 的变化,当UIScreen.isCaptured为true时,暂停视屏播放,并弹出提示告知用户,由于正在录屏,不予播放视屏。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值