나는 항상 실행해야하는 앱을 보유하고 있습니다 (사용자가 동의 할 경우).LSUIElement를 전경 애플리케이션으로 변환
사용자가 앱을 종료하면 포어 그라운드 앱을 LSUIElement로 변환합니다 (앱에는 메뉴 막대 아이콘 만 있고 도크 아이콘과 메뉴는 사라집니다).
괜찮 았던 메뉴 항목에 LSUIElement를 전경 앱으로 변환하는 옵션이 있습니다 (기능은 [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]
및 [NSApp activateIgnoringOtherApps:YES]
입니다).
사용자가 앱을 두 번 클릭하면 내 문제가 발생합니다. 위임 메서드 applicationWillUnhide:(NSNotification *)notification
에서 [NSApp setActivationPolicy:NSApplicationActivationPolicyRegular]
을 다시 사용하고 나타나지 않는 메뉴를 제외하고 모두 제대로 작동합니다. 다른 앱으로 이동하면 메뉴가 다시 나타납니다. 다른 방법을 시도했지만 좋은 것을 찾을 수 없었습니다. 내가하는 것입니다 applicationWillUnhide
함수에서 setActivationPolicy:
를 사용하여 생각하기 때문에
는 응용 프로그램에서 사용자를 두 번 클릭이, 그 순간이라고 NSApplication
의 기능 또는 무엇을 때 호출되는 위임 방법 늦은.
ProcessSerialNumber psn = { 0, kCurrentProcess };
TransformProcessType(&psn, kProcessTransformToForegroundApplication);
는'applicationShouldHandleReopen에서 호출 시도 유무 :' –
예, 시도했지만 성공하지 못했습니다. – usain
그리고 applicationDid 숨기기? –