Skip to content

Instantly share code, notes, and snippets.

@MTACS
Last active November 30, 2023 21:45
Show Gist options
  • Save MTACS/719125f138eaa6527e282bc1875d311c to your computer and use it in GitHub Desktop.
Save MTACS/719125f138eaa6527e282bc1875d311c to your computer and use it in GitHub Desktop.
Toggle Low Power Mode programmatically on iOS 16+
// iOS 16+
// _CDBatterySaver class doesn't exist on versions higher than 16.0
@interface _PMLowPowerMode : NSObject
+ (id)sharedInstance;
- (NSInteger)getPowerMode;
- (void)setPowerMode:(NSInteger)arg0 fromSource:(id)arg1;
- (void)setPowerMode:(NSInteger)arg0 fromSource:(id)arg1 withCompletion:(id)arg2; // Don't use if completion is nil, callback requires non null parameter
@end
%hook Class
- (void)toggleLowPower {
_PMLowPowerMode *lowPowerMode = [%c(_PMLowPowerMode) sharedInstance];
BOOL active = [lowPowerMode getPowerMode] == 1;
[lowPowerMode setPowerMode:!active fromSource:@"SpringBoard"];
}
%end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment