¿Cómo hacer clic automáticamente en Aceptar en respuesta a "<app> le gustaría usar su location actual" mientras testing con KIF?

Estoy usando KIF para las testings de interfaz gráfica de usuario, y parece que no tenemos forma de que en el Simulador haga clic automáticamente en el button Aceptar en la <app> would like to use your current location alerta de <app> would like to use your current location que aparece cuando se ejecuta la aplicación por primera vez. ¿Hay alguna manera de configurar el simulador o la aplicación para moverse por esa window emergente?

Una adición reciente a KIF agrega -acknowledgeSystemAlert al test runner. Esto se puede usar cuando se ejecuta en el simulador para confirmar el dialog de autorización de services de location. Se puede usar de la misma manera al solicitar acceso a la biblioteca de fotos del usuario.

Hubo un hilo sobre esto en la list de correo de KIF hace aproximadamente un año .

Dado que está haciendo esto solo para realizar testings, es bastante fácil eliminar las partes de CLLocationManager para evitar esta alerta.

(Obviamente, cualquiera de este código enviado a la tienda de aplicaciones lo rechazará.)

 [CLLocationManager swizzleInstanceSelector:@selector(startUpdatingLocationFake) toSelector:@selector(startUpdatingLocation)]; [CLLocationManager swizzleInstanceSelector:@selector(locationFake) toSelector:@selector(location)]; // One for class, one for (deprecated) instance method [CLLocationManager swizzleInstanceSelector:@selector(locationServicesEnabledFake) toSelector:@selector(locationServicesEnabled)]; [CLLocationManager swizzleClassSelector:@selector(locationServicesEnabledFake) toSelector:@selector(locationServicesEnabled)]; 

donde esos dos nuevos methods de class se definen de la siguiente manera:

 + (void)swizzleInstanceSelector:(SEL)firstSelector toSelector:(SEL)secondSelector; { Method swizzleMethod = class_getInstanceMethod(self, firstSelector); Method method = class_getInstanceMethod(self, secondSelector); method_exchangeImplementations(method, swizzleMethod); } + (void)swizzleClassSelector:(SEL)firstSelector toSelector:(SEL)secondSelector; { Method swizzleMethod = class_getClassMethod(self, firstSelector); Method method = class_getClassMethod(self, secondSelector); method_exchangeImplementations(method, swizzleMethod); }