Wiele aplikacji ze sklepu z aplikacjami OS X jest wymienionych jako „aplikacja” jest uszkodzona i nie można jej otworzyć

11

Nie zmieniając niczego, teraz otrzymuję ten komunikat, gdy próbuję otworzyć aplikację „Breeze” - inne aplikacje nie działają podobnie na innych komputerach Mac:

wprowadź opis zdjęcia tutaj

Próbowałem pozbyć się tego komunikatu, instalując go ponownie z App Store, ale nic się nie zmienia. Ponowne uruchomienie i zmiana preferencji bezpieczeństwa strażnika również nie pomaga, wybierając „zezwalaj na aplikacje pobrane z dowolnego miejsca”.

Co do licha się dzieje?

Corsin Pfister
źródło
Czy uważasz, że może to być związane z moim problemem ? (Jak na ironię, dziś są moje urodziny.)
geokavel,

Odpowiedzi:

17

Prawie wszyscy są na tej samej łodzi co ty. Sytuacja jest dość skomplikowana, ale to zdjęcie pokazuje niektóre szczegóły warstw certyfikatów zaangażowanych w tworzenie pliku „paragonu”:

wprowadź opis zdjęcia tutaj

Inżynierowie Apple użyli certyfikatu oznaczonego jako NIE WAŻNY po: 11 listopada 21:58:01 2015 GMT do podpisania aplikacji, które zostały pobrane na długi okres w tym roku. Ponadto jeden z certyfikatów był podpisywany przy użyciu algorytmu podpisu: sha1WithRSAEncryption i przechodzi na sha256WithRSAEncryption, który nie jest w pełni obsługiwany przez wszystkie systemy operacyjne i programistów.

Najlepszy tekst (spośród wielu dobrych) napisał Ben Toms:

Krótko mówiąc, wczoraj wygasł jeden z kluczy tworzących opakowanie używane przez aplikacje do weryfikacji poprawności pobrania App Store. Firma Apple odnowiła ten certyfikat, ale może być konieczne podjęcie działań w celu naprawienia tego błędu.

Dziwne, że aplikacje, które sam Apple stworzył, polegają na pewnym innym łańcuchu sprawdzania poprawności, ponieważ zawierają ten sam, który już wygasł, ale nadal działają w systemie OS X. Zasadniczo aplikacje te wydają się używać innego (lub nie) sprawdzania poprawności potwierdzenia .

Jeśli nie masz problemów z wierszem poleceń, spróbuj ponownie uruchomić proces, który ma tendencję do tych nieaktualnych teraz potwierdzeń aplikacji:

killall -KILL storeaccountd

Jeśli wyłączysz komputer Mac, spowoduje to również cykl demona kont i powinno to naprawić, abyś nie musiał ponownie pobierać aplikacji na komputer po upływie terminu ważności jednego certyfikatu Apple.

W tym momencie, gdy próbujesz uruchomić aplikację, powinien zostać wyświetlony monit o ponowne wprowadzenie hasła jeden raz. Otrzymasz nowy certyfikat od Apple, który może, ale nie musi rozwiązać faktyczne uszkodzenie w zależności od tego, w jaki sposób lub czy aplikacja korzysta z pliku potwierdzenia.

Kolejną rzeczą, która może wyleczyć błędy fałszywych certyfikatów, jest sprawdzenie ustawień daty i godziny, a następnie całkowite wylogowanie się z Mac App Store. Jeśli nadal nie możesz uruchomić aplikacji po ponownym zalogowaniu, możesz być zmuszony do usunięcia aplikacji i ponownego pobrania jej po zweryfikowaniu daty / godziny i ponownym uruchomieniu systemu operacyjnego. Pamiętaj, aby sprawdzić wyróżnienie i usunąć wszystkie kopie aplikacji. Opróżnij kosz przed próbą przywrócenia pobierania.

Jeśli wszystko inne zawiedzie, skontaktowanie się zarówno z twórcą konkretnej aplikacji, jak i ze wsparciem Apple w celu uzyskania wskazówek może być ostrożne, ponieważ programy obsługujące tę weryfikację i generowanie paragonu nie są dobrze udokumentowane.

Ogromne podziękowania również dla Craiga Hockenberry i Paula Haddada za świetne techniczne wyjaśnienia tego, co się tutaj dzieje. Bez wspólnoty pracującej razem moglibyśmy pozostawać w ciemnościach znacznie dłużej, gdy pojawią się takie niewygodne uszkodzenia.

bmike
źródło
Ponadto, jest to trochę bolesne, aby odebrać oprócz komunikatów o błędach związanych z storelegacy od CommerceKit, nieszkodliwego od znaczących sandboxdbłędów storeassetd, storeuid, storeaccountdi storelegacyprzetwarzania wiadomości i błędów, aby dowiedzieć się, co się zmieniło po ponownym uruchomieniu po czasie awarii dla OS X, aby zaktualizować pokwitowanie, które było buforowane do systemu plików z nowszą datą ważności. Byłoby miło mieć dokumentację lub przełącznik do rzucenia, aby można było załadować aplikację, gdy kolejny łańcuch zaufania zawiedzie z powodu błędu użytkownika lub niewystarczającego przewidywania twórców systemu operacyjnego.
bmike
Niestety nie pomogło mi to. Ponowne uruchomienie, ponowna instalacja, zabicie powyższego procesu, sprawdzenie daty / godziny oraz wylogowanie i powrót do App Store nie pomogło. To jest na komputerze Mac 10.10.5. Otwarcie z wiersza polecenia również nie pomogło: $ open -a Breeze.app LSOpenURLsWithRole () nie powiodło się dla aplikacji /Applications/Breeze.app z błędem -10810
Andrew
Wielkie dzięki za odpowiedź. Niestety nic z tego nie pomaga. Bardziej szczegółowo wypróbowałem podpowiedź z wiersza poleceń, uruchomiłem ponownie, ponownie wprowadziłem hasło, ale nadal otrzymuję tę wiadomość. Ustawienia daty / godziny wyglądają dla mnie dobrze (co mam tam sprawdzić?) Po ponownej instalacji nadal pojawia się ten sam komunikat. Jakieś pomysły?
Corsin Pfister,
Właśnie miałem rozmowę telefoniczną z pomocą techniczną Apple i korzystałem z funkcji udostępniania ekranu, aby wypróbować kilka rzeczy. Obejmowały one: sprawdzanie daty i godziny, usuwanie / przenoszenie niektórych elementów z biblioteki, ponowne uruchamianie, sprawdzanie aplikacji innych firm (które okazały się nie mieć wpływu). Poinformowałem również pomocnika o tym pytaniu tutaj na AskDifferent. Po wypróbowaniu kilku rzeczy, które nie pomogły, zasugerował skontaktowanie się z twórcami Breeze (co zrobię) i podał mi identyfikator sprawy na wypadek, gdy chcę ponownie skontaktować się z pomocą techniczną Apple.
Corsin Pfister,
Dodałem jeszcze jeden krok. @CorsinPfister - sprawdź, czy nie ma wielu kopii aplikacji i usuwania śmieci. Odłączę też dysk Time Machine po utworzeniu kopii zapasowej, aby mieć 100% pewność, że storeaccountsdproces otrzyma nowy rachunek za daną aplikację. Jest bardzo mało prawdopodobne, że jest to problem dewelopera. Wszyscy nie popełnili tego samego błędu wczoraj o 1800 GMT. Mamy nadzieję, że Apple udokumentuje rzeczy lepiej w przyszłości.
bmike
7

Wygląda na to, że pokwitowania osadzone w aplikacjach pobranych z Mac App Store są podpisywane wygasłym certyfikatem.

Paul Haddad z Tapbot zwrócił uwagę na ten problem wcześniej na Twitterze.

https://twitter.com/tapbot_paul/status/664653066679906304

W przypadku niektórych użytkowników ponowne uruchomienie wystarczy, aby system operacyjny poprosił o pobranie nowych potwierdzeń ze Sklepu. Inni użytkownicy stwierdzają, że są proszeni o ponowne zalogowanie się w Mac App Store w celu zaktualizowania potwierdzeń aplikacji. Inni programiści, tacy jak C-Command Software, sugerują użytkownikom usunięcie aplikacji i pobranie ich ponownie .

Alistair McMillan
źródło
To nie wszystko. Mam aplikacje, które nadal się uruchamiają, mimo że są podpisane certyfikatem oznaczonym jako nieważny po 11 listopada 21:58:01 2015 GMT - na przykład Xcode nadal działa, więc zagłębiam się w to, co można zrobić bez usuwania i ponowna instalacja każdej aplikacji, która według OS X jest teraz „uszkodzona”.
bmike
2
Być może system operacyjny nie sprawdza potwierdzenia przy każdym uruchomieniu aplikacji. I / lub może sprawdza tylko po pewnym okresie bezczynności. Zakładasz, że gdzieś to udokumentowano. :)
Alistair McMillan
1
Ponieważ dla wielu osób jest to ogromna niespodzianka, że ​​aplikacje mogą „wygasnąć” i będzie to prawdziwy ból dla osób latających samolotem lub w podróży poza Wi-Fi, aby kontynuować pracę w systemie Mac OS, oczekiwałbym publicznego wyjaśnienia od Apple o tym, co się stało, dlaczego tak się stało i jak to naprawić / zapobiec w przyszłości. Zasadniczo Gatekeeper potrzebuje wcześniej funkcji raportowania o wygasających aplikacjach i przełącznika, aby tymczasowo zastąpić tę kontrolę. Jajko na twarzy Apple'a na pewno z powodu tego, że nie edukowali użytkowników i uważali na nich.
bmike
2
Po prostu wydaje mi się niesamowite, że firmy regularnie mają problemy z wygaśnięciem certyfikatów. Gdyby tylko mieli sposób, aby automatycznie przypomnieć sobie, że pewne rzeczy wymagają odnowienia w określone dni.
Alistair McMillan,