UIAccessibilityInvertColorsStatusDidChangeNotification no se observa en iOS 7

No estoy seguro de si se trata de un error de iOS 7 o qué. Pero … no puedo hacer que UIAccessibilityInvertColorsStatusDidChangeNotification funcione.

Entonces, cuando inicio mi plumilla hago esto:

 - (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil { if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil])) { [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(inverted) name:UIAccessibilityInvertColorsStatusDidChangeNotification object:nil]; } return self; } 

Más tarde en mi código tengo la notificación:

 - (void)inverted { if(UIAccessibilityIsInvertColorsEnabled()) { NSLog(@"setting tintcolor to cyan"); self.view.tintColor = [UIColor cyanColor]; [self tintColorDidChange]; } else { NSLog(@"setting tintcolor to networking"); self.view.tintColor = [UIColor networkingColor]; [self tintColorDidChange]; } } 

Sin embargo, cuando mi aplicación se está ejecutando y cambio el modo Invertir colors a través de triple clic en el button Inicio, no sucede nada en la aplicación. No recibas un post en la console, no recibas un cambio de tintColor, no recibas nada.

Probé esto en iOS 6 y iOS 7. Intenté configurar mi objective de compilation para iOS 6.1 en lugar de 4.3 y eso tampoco lo solucionó.

Intenté agregar -(void)inverted; a mi interfaz y eso no lo solucionó. Intenté agregar los dos puntos después de invertir, pero eso tampoco lo solucionó, y los documentos dicen que esta notificación no tiene una discusión de todos modos.

Obviamente estoy haciendo algo mal. ¿Qué? Gracias por adelantado.

Extraño … debe ser un error pero …

todo lo que tenía que hacer para arreglar esto era llamar

 UIAccessibilityIsInvertColorsEnabled(); 

dentro del método viewDidLoad del viewController. Después de agregar esa línea de código, ahora las notifications salen bien (aunque todavía hay un cuadro de visualización donde se muestra mal). Evidentemente, las notifications de colors invertidos no se observan en absoluto a less que primero se llame. La documentation de Apple no te dice esto.

Definitivamente una de las cosas más extrañas que he encontrado.