Habilitación persistente o agresiva del modo de bajo consumo

6

Me encanta la función de Modo de bajo consumo. Cuando viajo o en otras situaciones donde la comunicación confiable es más importante que la experiencia del usuario, quiero tenerla siempre habilitada, a veces durante días.

Sin embargo, iOS se apaga automáticamente después de que el teléfono se haya cargado, lo que me obliga a recordar ingresar y volver a habilitarlo después de desconectar mi teléfono. Ocasionalmente olvido.

¿Hay alguna forma (incluidas las aplicaciones de terceros, excluyendo rooting / jailbreaking) para habilitar automática o persistentemente el Modo de bajo consumo, además del comportamiento automático del sistema al 20%? ¿Una forma de dejarlo en modo indefinido, o una forma de activarlo automáticamente antes (como en un 50%), o una manera de activarlo según un programa?

Si aún no hay una forma accesible para el usuario de hacer esto, también me interesaría saber si hay algún mecanismo en el sistema operativo (esquemas de URL, API de marco) que pueda usarse para controlar el modo de bajo consumo.

    
pregunta user 23.06.2016 - 22:20

1 respuesta

7

Sí, el _CDBatterySaver API en el marco CoreDuet (privado *) se puede usar para alternar el modo de bajo consumo.

Una invocación de ejemplo, sin probar:

#import <CoreDuet/CoreDuet.h>
#import <objc/runtime.h>

-(void)setLowPowerMode:(BOOL) isOn {
    _CDBatterySaver *batterySaver = [objc_getClass("_CDBatterySaver") batterySaver];
    int nextState;

    if(isOn) {
        nextState = 1;
    } else {
        nextState = 0;
    }

    if([batterySaver setMode:nextState]) {
        NSLog(@"Set power mode state");
    }
}

Envolvería esto en una aplicación con una tarea en segundo plano para observar el modo de bajo consumo (ambas API bien documentadas). Esto se puede hacer con Xcode, ya que Apple permite la creación e instalación de aplicaciones en su teléfono sin requerir una licencia de desarrollador (IIRC).

* Consulte la respuesta a la pregunta cómo importar marcos privados en xcode . Nota: los archivos de encabezado se pueden encontrar en GitHub sin la necesidad de un dispositivo con jailbreak.

    
respondido por el Stan Hutcheon 27.06.2016 - 18:11

Lea otras preguntas en las etiquetas