关闭应用时截取屏幕截图

时间:2017-06-17 09:20:41

标签: ios swift screenshot

我想截取任何正在运行的应用的截图,而我的应用却在后台。

我在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秒进行一次屏幕拍摄并将其保存到相机胶卷。但截图是白色和空白的照片。当应用关闭时,有没有办法拍摄屏幕截图。

谢谢。

1 个答案:

答案 0 :(得分:3)

你做不到。出于安全原因,Apple阻止了您需要在iOS 9中截取除App的内容之外的任何API的API。我为一家我工作的公司进行了广泛的研究,发现除非该设备被越狱,否则这是不可能的。