Je cherche un moyen de déterminer quand Night Shift a été activé ou désactivé et d'effectuer une action basée sur cela. J'utilise actuellement l'en-tête CBBlueLightClient dans l'infrastructure CoreBrightness pour contrôler Night Shift. Voici un en-tête partielle J'utilise dans mon application:Comment puis-je observer les changements de Night Shift sur macOS/iOS?
@interface CBBlueLightClient : NSObject
- (BOOL)setStrength:(float)strength commit:(BOOL)commit;
- (BOOL)setEnabled:(BOOL)enabled;
- (BOOL)getStrength:(float*)strength;
- (BOOL)getBlueLightStatus:(struct { BOOL x1; BOOL x2; BOOL x3; int x4; struct { struct { int x_1_2_1; int x_1_2_2; } x_5_1_1; struct {
int x_2_2_1; int x_2_2_2; } x_5_1_2; } x5; unsigned long x6; }*)arg1;
@end
CBBlueLightClient dispose également d'un bloc de notification, - (void)setStatusNotificationBlock:(id /* block */)arg1;
que je ne peux pas comprendre comment utiliser. Tout ce que j'ai essayé fonctionne avec macOS, y compris le bloc de notification qui semble être là. Je n'arrive tout simplement pas à comprendre quel genre de fermeture il attend.
Je doute d'Apple exposera quelque chose comme ça depuis presque changement affecte le système dans son ensemble. Ils ne voudraient pas que les développeurs modifient l'affichage de leur application lorsque cela se produit. J'aimerais voir s'il y a une option si. – adev
@adev Je ne m'attendais pas à ce qu'Apple fasse quelque chose comme ça facile à trouver mais j'espère que c'est encore possible. – Nate
Pas facile à trouver signifie normalement une api privée. Donc, si vous le trouvez, vous ne pouvez pas l'utiliser dans votre application de toute façon (si vous voulez votre application sur l'App Store) – Fogmeister