8 votes

Activation persistante ou agressive du mode basse consommation

J'adore la fonction "Low Power Mode". Lorsque je suis en voyage ou dans d'autres situations où la fiabilité des communications est plus importante que l'expérience de l'utilisateur, je veux toujours l'activer, parfois pendant plusieurs jours.

Cependant, iOS le désactive automatiquement une fois le téléphone chargé, ce qui m'oblige à me souvenir d'aller le réactiver après avoir débranché mon téléphone. Il m'arrive d'oublier.

Existe-t-il un moyen (y compris des applications tierces, à l'exclusion de l'enracinement ou du cassage de prison) d'activer automatiquement ou durablement le mode "faible consommation", en dehors du comportement automatique du système à 20 % ? Un moyen de le laisser activé indéfiniment, ou un moyen de l'activer automatiquement plus tôt (par exemple à 50 %), ou un moyen de l'activer en fonction d'un calendrier ?

S'il n'existe pas encore de moyen accessible à l'utilisateur, je souhaiterais également savoir s'il existe des mécanismes dans le système d'exploitation (schémas d'URL, API de cadre) qui pourraient potentiellement être utilisés pour contrôler le mode de faible consommation.

7voto

Stan Hutcheon Points 984

Oui, le _CDBatterySaver dans l'API CoreDuet (Private*)Framework peut être utilisé pour basculer en mode basse consommation.

Un exemple d'invocation, non testé :

#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");
    }
}

Je mettrais cela dans une application avec une tâche d'arrière-plan pour surveiller le mode basse consommation (deux API bien documentées). Cela peut être fait avec Xcode car Apple permet de créer et d'installer des applications sur votre téléphone sans avoir besoin d'une licence de développeur (IIRC).

*Voir la réponse à la question comment importer des frameworks privés dans xcode . Note : les fichiers d'en-tête peuvent être trouvés sur GitHub sans avoir besoin d'un appareil jailbreaké.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X