赞
踩
iOS 11中新增了录屏功能,之前的系统要想录屏,只能通过Airplay 或者屏幕镜像软件,例如 Reflector。有了录屏功能确实方便了用户,但对于一些做内容的公司和网站,特别是视频网站,并不希望自己的付费视频被录制并在互联网上传播。
那么ios系统下如何避免自己app的内容被录屏呢?
iOS 11 SDK 中新增了UIScreen的API用以告知应用当前屏幕正在录屏。当UIScreen.isCaptured 为true时,表示当前屏幕正在被录制、镜像或被Airplay 发送。以下几种情况下UIScreen.isCaptured 的值为true:
图1
图2
图3
当录屏状态发生变化时,UIKit会发送UIScreenCapturedDidChange的notification,该notification的object参数即为isCaptured属性发生变化的 UIScreen对象,另外,notification没有userInfo参数。
基于此,我们可以在应用中接收此通知,来对用户的录屏行为做相应的处理。比如,在视频app中,我们可以添加通知来监测 UIScreen.isCaptured 的变化,当UIScreen.isCaptured为true时,暂停视屏播放,并弹出提示告知用户,由于正在录屏,不予播放视屏。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。