无法在模拟器中检测到屏幕截图

Unable to detect screenshot in simulator

我正在尝试实现网络视图的屏幕截图和屏幕录像检测。阅读 问题的答案后,我编写了以下代码:

struct WebContentView: View {

    @Binding var htmlName: String
    @State var isRecordingScreen = false

    var body: some View {
        Webview(htmlFileName: htmlName)
            .onReceive(NotificationCenter.default.publisher(for: UIApplication.userDidTakeScreenshotNotification)) { _ in
                print("Screenshot taken")
            }
            .onReceive(NotificationCenter.default.publisher(for: UIScreen.capturedDidChangeNotification)) { _ in
                isRecordingScreen.toggle()
                print(isRecordingScreen ? "Started recording screen" : "Stopped recording screen")
            
            }
    }
}

但是,当我 运行 使用模拟器的应用程序并截取屏幕截图时,没有任何内容被打印出来。

我做错了什么?

在 Xcode 12.5.1 上工作正常,看起来您是直接从保存屏幕按钮截取屏幕截图。保存屏幕按钮不是屏幕截图按钮。

截取此命令的屏幕截图

设备 -> 触发截图