Screeen 2.1.0

Screeen 2.1.0

测试已测试
语言语言 SwiftSwift
许可证 MIT
发布上次发布2023年10月
SPM支持SPM

econa77econa77 维护。



Screeen 2.1.0

  • Econa77

Screeen

Actions Status Release version License: MIT Carthage compatible Version Platform SPM supported

观察 macOS 上的用户屏幕截图事件和图像。

用法

CocoaPods

pod 'Screeen'

Carthage

github "Clipy/Screeen"

示例

let observer = ScreenShotObserver()
observer.delegate = self
observer.start()
func screenShotObserver(_ observer: ScreenShotObserver, addedItem item: NSMetadataItem) {
    print("added item == \(item)")
}

func screenShotObserver(_ observer: ScreenShotObserver, updatedItem item: NSMetadataItem) {
    print("updated item == \(item)")
}

func screenShotObserver(_ observer: ScreenShotObserver, removedItem item: NSMetadataItem) {
    print("removed item == \(item)")
}

更改观察状态

observer.isEnabled = false // Stop observing
observer.isEnabled = true  // Restart observing

macOS 10.15 或更高版本的安全功能

自mac10.15 Catalina以来,安全功能得到了增强,并需要授予截图监控权限。监控目标可以指定每个目录,默认情况下指定桌面目录。

首次调用 start() 时,将显示权限提醒,当允许时开始监控。

桌面目录监控(默认)

let observer = ScreenShotObserver()
observer.start()

桌面和图片目录监控

let desktopPath = NSSearchPathForDirectoriesInDomains(.desktopDirectory, .userDomainMask, true).first
let picturePath = NSSearchPathForDirectoriesInDomains(.picturesDirectory, .userDomainMask, true).first
let directoryPaths = [desktopPath, picturePath].compactMap { $0 }
let observer = ScreenShotObserver(searchDirectoryPaths: directoryPaths)
observer.start()

监控 macOS 10.14 或更早版本上的所有截图

let observer: ScreenShotObserver
if #available(macOS 10.15, *) {
    observer = ScreenShotObserver()
} else {
    observer = ScreenShotObserver(searchDirectoryPaths: [])
}
observer.start()

沙盒支持

为了监控已启用沙盒的应用程序中的屏幕截图,用户必须手动选择要监控的目录。
更多信息请参阅此处