iOS 控制电池开关

概述

通过使用PowerUI 框架中的disableChargingenableCharging 方法来控制iOS设备的充电状态。

获取电源状态

首先,通过以下Springboard日志信息可以获取设备的当前电源状态:

这些信息提供了电池的当前容量、充电状态、是否连接到AC电源等关键信息。

使用PowerUI框架

PowerUI 框架提供了控制设备充电状态的方法。要使用这个框架,首先需要获取动态库**/System/Library/PrivateFrameworks/PowerUI.framework/PowerUI** 。

禁用充电

若要禁用充电,使用dlopen加载动态库,再使用以下方法:

void disableCharging()
{
Class PowerUISmartChargeManager_class = NSClassFromString(@“PowerUISmartChargeManager”);
NSObject *workspace = [PowerUISmartChargeManager_class performSelector:@selector(manager)];
[workspace performSelector:@selector(disableCharging)];
}

启用充电

若要启用充电,请使用以下方法:

void enableCharging()
{
Class PowerUISmartChargeManager_class = NSClassFromString(@“PowerUISmartChargeManager”);
NSObject *workspace = [PowerUISmartChargeManager_class performSelector:@selector(manager)];
[workspace performSelector:@selector(enableCharging)];
}

修改完成后

建议定时检测关闭;

2 个赞

牛比,但是这个功能的使用场景是什么呢?

这玩意 怎么看都没法禁止不充电吧,看起来 只是改了UI层的图标状态罢了

主要是解决越狱远程真机长时间充电的问题,增加下电池寿命;

1 个赞

正常应该还加个检测电池电量

1 个赞

电量不增了吗

不过开电池优化有点问题,一直自动打开充电状态

:+1: :+1: :+1: :+1: :+1: :+1:


看着不太行啊。

控制台监控下batteryTool的日志,看看是否生效了,有os_log日志输出

https://github.com/SuperChaoM/iOS-batteryTool


用的就是你git的代码

电池优化关掉,什么系统的,我测试IOS14,IOS13都是正常的

14.1 iPhone 7 关掉了

可以了。之前是100%电量今天电量降低后就可以了