let screenshotDirectoryURL =URL(filePath: "/Users/wonderhoi/") let scene =UIApplication.shared.connectedScenes.first as?UIWindowScene let window = scene?.keyWindow ??UIWindow(frame: .zero) let renderer =UIGraphicsImageRenderer(size: window.bounds.size) let image = renderer.image { context in window.drawHierarchy(in: window.bounds, afterScreenUpdates: true) } let pngData = image.pngData() let screenshotURL = screenshotDirectoryURL.appending(path: "\(UUID())").appendingPathExtension(for: .png) try? image.pngData()?.write(to: screenshotURL)