Nadmierne okna dialogowe „Otwieranie aplikacji po raz pierwszy”

32

Często pojawia się okno dialogowe z ostrzeżeniem, że otwieram aplikację po raz pierwszy. Ale to nie pierwszy raz. Niektóre z nich to aplikacje, z których korzystam codziennie. wprowadź opis zdjęcia tutaj

Wydaje mi się, że otrzymuję ich więcej po aktualizacji systemu operacyjnego, prawie tak, jakby niektóre bazy danych zostały zresetowane. Czy mogę zrobić coś, aby te ostrzeżenia zostały poprawnie wygenerowane?

Bill Nace
źródło

Odpowiedzi:

38

To ostrzeżenie pojawia się za każdym razem, gdy aplikacja chce zarejestrować moduł obsługi URI ( something://protokół). Zwykle twoja zgoda jest zapisywana przez LaunchServices, ale ta baza danych może zostać uszkodzona. Spróbuj zresetować, wykonując

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -all local,system,user

w terminalu. Ostrzeżenia powinny pojawiać się raz po raz dla każdej aplikacji, a następnie zniknąć na dobre. Jeśli nadal będą pojawiać się, coś samo resetuje bazę danych (wskazówką byłoby, że ustawiona domyślna przeglądarka / aplikacja poczty / aplikacja RSS / aplikacja FTP resetuje się do dostarczonych przez Apple).

kopischke
źródło
Świetna odpowiedź. Czy znalazłeś takie elementy, jak panel preferencji systemowych, które częściej otrzymują ten komunikat w 10.7.2?
bmike
@bike: wcale nie - dlatego myślę, że DB LaunchServices OP jest (było) albo uszkodzone, albo coś go resetuje.
kopischke
Dziękuję Ci. Widzę niektóre konkretne aplikacje, takie jak ScreenSync, nigdy nie usuwają bitu kwarantanny w wersji 10.7.2. Nawet jeśli odbuduję bazę danych usług uruchamiania za pomocą twojego polecenia, to wciąż monituje mnie przy każdym logowaniu (i uruchamia się sam). Musiałem użyć xattr do ręcznego usunięcia bitów kwarantanny ....
bmike
@bike: bit kwarantanny uruchamia kolejne okno dialogowe z ostrzeżeniem: „Ta aplikacja została pobrana z Internetu (yadda, yadda)”. Nie ma to nic wspólnego z LaunchServices.
kopischke
Teraz jestem zdezorientowany. W okienku wstępnym pojawia się to samo okno dialogowe, które wymaga ręcznego wyczyszczenia fragmentu kwarantanny. cl.ly/BZKm Czy różnica polega na sformułowaniu w dolnej części okna dialogowego - w jednym z nich podano stronę internetową, a drugą lokalizację aplikacji?
bmike
3

Miałem ten sam problem (tylko z SourceTree, po aktualizacji), a widok odpowiedzi @ kopischke przypomniał mi o innym wątku Ask Different na innym problemie z bazą danych LaunchServices:

Dlaczego lista „Otwórz za pomocą” mojego Maca zaczyna wyświetlać listę aplikacji dwa razy, a czasem trzy razy?

Polecenie resetowania LaunchServices pod warunkiem, że różni się nieco od polecenia @kopischke pod warunkiem:

/System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/LaunchServices.framework/Versions/A/Support/lsregister -kill -r -domain local -domain system -domain user

Próbowałem tego i to rozwiązało mój problem z „otwieraniem aplikacji po raz pierwszy”. Ale nie wymagało to ode mnie ponownego zatwierdzania każdej innej aplikacji (tylko kilka; nie widziałem oczywistego wzorca). Być może warto spróbować tego przed wypróbowaniem wcześniejszej sugestii.

Tom Loredo
źródło