objective-c - Objective-C 更换电池和电源适配器系统偏好(旧的节能器偏好)
问题描述
我正在使用CFPreferencesSetValue
and 和CFPreferencesSynchronize
。我可以看到变化反映在中,com.apple.powermanagement.plist
但是当我使用pmset检查当前使用的数字时,它们不是首选项 plist 中设置的。我已经失去了理智,因为我已经为此工作了几个星期(断断续续)试图解决它。任何人都可以提供关于我应该做什么的线索吗?
NSString *PMEyeIOCFPrefsPath = @"com.apple.PowerManagement";
NSString *PMEIOSystemPowerSettingsKey = @"AC Power"; // Battery Power
CFPreferencesSetValue(CFBridgingRetain(PMEIOSystemPowerSettingsKey), (__bridge CFPropertyListRef _Nullable)(self.acParams), CFBridgingRetain(PMEyeIOCFPrefsPath), kCFPreferencesAnyUser, kCFPreferencesCurrentHost);
BOOL test = CFPreferencesSynchronize(CFBridgingRetain(PMEyeIOCFPrefsPath),
kCFPreferencesAnyUser, kCFPreferencesCurrentHost);
请注意,我已尝试发送首选项已更改的通知,但我找不到有关该通知的接收者名称的任何文档:即:
dispatch_async(dispatch_get_main_queue(), ^{
CFNotificationCenterPostNotification(CFNotificationCenterGetDistributedCenter(),
(CFStringRef)@"com.apple.preference.energysaver", NULL, NULL, YES);
解决方案
推荐阅读
- hotjar - 如何使用 Javascript 自动标记 hotjar 视频
- azure - 对资源组执行验证操作所需的角色
- typescript - TypeScript:如何使用扩展语法键入解构参数?
- android - 在覆盖 hide() 后隐藏 MediaController
- c# - 使用 c# 从 GPS 设备接收空输出以将值存储在 SQL DB 中
- c# - SQL Server 安装错误找不到文件`00ksrghd.rtf`
- c# - 加解密小问题
- mysql - MySQL 根据 SUM 和 GROUP BY 计算年份之间的销售额百分比变化
- mongoose - 我想保存到猫鼬列表的开头
- catia - C# - 如何使用环境细节启动 CATIA