Je souhaite prendre des captures d'écran de toute application en cours d'exécution, pendant que mon application est en arrière-plan.Prendre une capture d'écran lorsque l'application est fermée
J'ai défini un temporisateur dans la méthode applicationDidEnterBackground.
func applicationDidEnterBackground(_ application: UIApplication) {
var timer = Timer.scheduledTimer(timeInterval: 10, target: self, selector: #selector(self.takeSS), userInfo: nil, repeats: true)
}
Et j'ai créé une méthode appelée 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)
}
Il faut tirer de l'écran toutes les 10 secondes et enregistrez-le sur le rouleau de la caméra. Mais les captures d'écran sont des photos blanches et vierges. Y at-il un moyen de prendre une capture d'écran lorsque l'application est fermée.
Merci.
Seuls quelques types de traitement en arrière-plan sont autorisés - https://developer.apple.com/library/content/documentation/iPhone/Conceptual/iPhoneOSProgrammingGuide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/ TP40007072-CH4-SW4 - et ce n'est pas l'un d'entre eux. Vous demandez essentiellement comment une application en sandbox peut espionner d'autres applications en bac à sable. – Ssswift