【发布时间】:2021-06-23 01:00:09
【问题描述】:
我正在尝试访问 M1 Mac 的帧缓冲区接口。我知道它与其他 Mac 完全不同,因为这些新 Mac 使用 IOMobileFrameBuffer(来自 OS)而不是经典的 IOFrameBuffer。
所以我尝试使用这段代码来访问这个帧缓冲区,但没有成功。
func makeIterator() -> io_iterator_t {
var port: mach_port_t = 0
var status = IOMasterPort(mach_port_t(MACH_PORT_NULL), &port)
guard status == KERN_SUCCESS else { return 0 }
guard let match = IOBSDNameMatching(port, 0, "AppleMobileCLCD") else { return 0 }
var iterator: io_iterator_t = 0
status = IOServiceGetMatchingServices(port, match, &iterator)
guard status == KERN_SUCCESS else { return 0 }
return iterator
}
我也尝试过使用“IOMobileFramebuffer”、“AppleCLCD”和“IOMobileFramebufferUserClient”字符串,但匹配似乎不行。
我还尝试显示 ioreg 命令,它告诉我:
+-o IOMobileFramebufferUserClient
你知道我怎样才能找到访问这个用户客户端的字符串吗? 或者也许我对这段代码完全错误...... 我正在尝试在此界面中搜索设置一些亮度。我觉得效果不好,但我想试试……
谢谢!
【问题讨论】: