在android系统下,可以将窗口的属性设为Secure,当窗口显示时,系统将会阻止截屏。但是在IOS系统下,并没有相关选项。所以象IOS版支付宝、微信等,对支付码进行截屏时,也只能提醒用户不要将图片发给他人,而不能直接禁止用户截屏。
而在实际工作中,有些场景对防截屏的需求非常强烈。比如:查阅一些涉密的文档,敏感的聊天信息,阅后即焚的图片等等。
本研发内容,是在IOS版App中,通过一定的技术手段,使在文件的打开过程中,防止用户截屏。主要原理为:IOS系统在播放加密视频时,为版权考虑,是禁止截屏的。所以,根据此系统特性,可以将文档在打开时,后台抓取当前显示的内容,然后将其存为图片。再使用AVAssetWriter和CVPixelBuffer将图片转换为经过DRM加密的单帧视频,最后启动webserver,通过EXT-X-KEY来设置之前生成的加密视频的密钥,然后调用[Self.player playURL:@"http://localhost:8989/test.mp4" inView:self.labelContainer];进行播放。当手指触摸屏幕时,将播放器放至后台,前台则显示原始文档,用户则可以在此正常进行移动、缩放等操作。当手指移开屏幕时,则重复抓图-转视频-播放的操作。
本研发项目主要面临的技术难点在于,在防止截屏的同时,要能够正常进行文档的操作,且尽量让人感觉不到中间的延迟。
技术领域 | 电子信息,微电子技术 | 需求类型 | 关键技术研发 | 有效期至 | 2022-12-31 |
合作方式 | 合作开发 | 需求来源 | 政府 | 所在地区 | |