objc.loadBundle('CoreBrightness', bundle_path='/System/Library/PrivateFrameworks/CoreBrightness.framework', module_globals=globals()) brightness_service = objc.lookUpClass('CBService').service() display_brightness = brightness_service.displayBrightness()
时间: 2024-03-30 17:37:04 浏览: 132
C/C++在Java、Android和Objective-C三大平台下实现混合编程
看起来你正在使用苹果的 `CoreBrightness` 框架来获取显示器的亮度信息。根据 Apple 的文档,`CBService` 类确实没有 `service()` 方法,因此会引发 `AttributeError`。
你需要使用 `CBService` 类的 `client()` 方法来获取一个客户端对象,然后使用客户端对象的 `copyProperty(key)` 方法来获取属性值。具体代码如下:
```
import objc
# 加载 CoreBrightness 框架
objc.loadBundle('CoreBrightness', bundle_path='/System/Library/PrivateFrameworks/CoreBrightness.framework', module_globals=globals())
# 获取客户端对象
client = objc.lookUpClass('CBClient').client()
# 获取显示器亮度属性
display_brightness = client.copyProperty('displayBrightness')
```
这应该可以帮助你解决问题。如果还有其他问题,请随时提出。
阅读全文