我想截取任何正在运行的应用的截图,而我的应用却在后台。
我在applicationDidEnterBackground方法中设置了一个计时器。
func applicationDidEnterBackground(_ application: UIApplication) {
var timer = Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(self.takeSS), userInfo: nil, repeats: true)
}
我创建了一个名为takeSS的方法
func takeSS(){
UIGraphicsBeginImageContextWithOptions((window?.bounds.size)!, false, UIScreen.main.scale)
self.window?.drawHierarchy(in: (window?.bounds)!, afterScreenUpdates: true)
var image:UIImage = UIGraphicsGetImageFromCurrentImageContext()!
UIImageWriteToSavedPhotosAlbum(image, nil, nil, nil)
}
每10秒进行一次屏幕拍摄并将其保存到相机胶卷。但截图是白色和空白的照片。当应用关闭时,有没有办法拍摄屏幕截图。
谢谢。
答案 0 :(得分:3)
你做不到。出于安全原因,Apple阻止了您需要在iOS 9中截取除App的内容之外的任何API的API。我为一家我工作的公司进行了广泛的研究,发现除非该设备被越狱,否则这是不可能的。