Pregunta

Me parecen tener el problema exactamente lo contrario de lo esta pregunta en la detención de rebote muelle.

No puede conseguir mi aplicación para rebotar continuamente el icono muelle!

Yo también odio rebotando continuamente iconos de base, pero en este caso si el usuario no se da cuenta de mi aplicación no puede lanzamiento, que pudieron horas potencialmente pérdida de los datos de seguimiento de tiempo.

Aquí está mi código que he puesto en los delegados de aplicaciones applicationWillFinishLaunching:. Método

if (!AXAPIEnabled()) {        // I'm checking that Accessibility is turned on

    NSAlert *alert = [[NSAlert alloc] init];
    [alert setAlertStyle:NSCriticalAlertStyle];
    [alert setMessageText:@"Lapsus cannot run."];
    [alert addButtonWithTitle:@"Open Accessibility Prefs..."];
    [alert addButtonWithTitle:@"Quit"];
    [alert setInformativeText:@"Lapsus needs \"Enable access for assistive devices\" in the Accessibility pane of System Preferences to be turned on."];

    [NSApp activateIgnoringOtherApps:YES];
    int attentionrequest = [NSApp requestUserAttention:NSCriticalRequest];

    NSInteger returnValue = [alert runModal];
    ....
    [NSApp cancelUserAttentionRequest:attentionrequest];
}

He intentado quitar la línea requestUserAttention.

He intentado poner la línea requestUserAttention en muchos lugares diferentes:. Directamente antes de la llamada runModal, a primera hora, etc.

He intentado quitar la línea activateIgnoringOtherApps.

No importa lo que haga, el muelle icono rebota una vez y luego se detiene.

El usuario verá probablemente que mi aplicación como estoy llevándolo a la parte delantera, pero hay una posibilidad de que si hacen clic en el momento adecuado, su aplicación activa, se oculta el mensaje de error crítico.

Así que quiero algo para que incluso cuando su muelle está oculta, saben algo no está bien.

Estoy construyendo esto en Mac OS X 10.5 Leopard. ¿Alguna idea sobre lo que estoy haciendo mal? ¿O es que es compatible con Leopard continuamente rebotando iconos de base más?

ACTUALIZACIÓN:

Me estaba poniendo la llamada al método en applicationWillFinishLaunching:

Tan pronto como puse en applicationDidFinishLaunching :, y retira el activateIgnoringOtherApps: llamada, funcionó como se requiere

.

Sin embargo, mi pregunta sigue es "¿Puedo llevar mi aplicación a la parte delantera, así como que despide el icono del Dock? A partir de la primera respuesta, sería no parece, aunque no estoy seguro de entender por qué.

ACTUALIZACIÓN:

Yo no entendía por qué, porque yo no estaba pensando en ello. Ahora que ha sido me señaló que el robo enfoque significa el muelle logró lo que quería, que tiene perfecto sentido.

Conclusión

Si desea que la atención de los usuarios, no utilice [NSApp activateIgnoringOtherApps: YES];

¿Fue útil?

Solución

Si envía activateIgnoringOtherApps entonces estás básicamente se rechaza su propia notificación.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top