Chcę, aby moja aplikacja OSX wywoływała funkcję, gdy ekran użytkownika stanie się dostępny, np. Komputer przebudzi się ze stanu uśpienia lub użytkownik włączy ekran. Zasadniczo za każdym razem, gdy użytkownik przechodzi od braku aktywnego ekranu do posiadania jednego aktywnego, chciałbym wywołać moją funkcję.OSX/Swift: funkcja połączenia, gdy ekran stanie się dostępny
Nie jestem pewien, czy to najlepszy sposób, aby to zrobić jest:
- Check for changes in sleep/wake state lub
- Korzystanie CGDisplayReconfigurationCallback lub
- Słuchaj na NSWorkspaceScreensDidWakeNotification
Która z nich wydaje jak najlepiej to zrobić, czy powinienem zrobić coś zupełnie innego? Jakiś przykład kodu Swift byłby bardzo pomocny, ponieważ fragmenty kodu implementujące którekolwiek z nich wydają się być bardzo nieliczne. Dzięki.
Mam nadzieję, że NSWorkspaceScreensDidWakeNotification będzie wystarczające. Tak jak powiedziałeś, prawdopodobnie będę musiał przetestować wszystkie okoliczności, które osobiście włączą wyświetlacz. Miałem nadzieję na coś w rodzaju powiadomienia o parasolach, które przyłapało na tym wszystkim, ale nie wygląda na takie. – yesthisisjoe
Prawdopodobnie istnieją skrzyżowania i jedna z technologii używa innej. Po prostu to sprawdź. (Trudne, ponieważ trudno jest rozpoznać wszystkie sytuacje, ale Twoi użytkownicy to zrobią.: -]) I: Może nie chcesz otrzymywać wszystkich powiadomień, i. mi. po uruchomieniu systemu. –