Co tak naprawdę robi plik .app?

12

Jestem nowy w systemie Mac OS X (pochodzącym z systemu Windows) i próbuję zrozumieć pliki .app. W systemie Windows mieliśmy pliki wykonywalne (pliki .exe). Jeśli go otworzysz, program uruchomi się, a wszelkie inne potrzebne pliki zostaną umieszczone w innym miejscu. W systemie Mac OS X, jak rozumiem, te „pliki” .app są bardziej podobne do folderów zawierających nie tylko sam plik wykonywalny, ale także inne pliki, których aplikacja może potrzebować.

Moje pytanie brzmi: co dokładnie robią te pliki .app? Czym różni się od wiercenia w nich i uruchamiania rzeczywistego pliku wykonywalnego?

Ostatnio próbowałem uruchomić aplikację na OS X. W końcu udało mi się ją uruchomić (wygląda na to, że JAVA_HOME musiał zostać ustawiony). Działa to jednak tylko wtedy, gdy przechodzę do folderu .app i uruchamiam skrypt powłoki, który uruchamia aplikację. Po dwukrotnym kliknięciu pliku / folderu .app aplikacja odbija się na chwilę w doku, ostatecznie zatrzymuje się i nic się nie dzieje (poza fanami wirującymi jak szalony). Tak wyraźnie system operacyjny robi coś innego, gdy próbuje uruchomić aplikację z pliku .app vs. bezpośrednio z pliku wykonywalnego.

Chciałbym zrozumieć, co dokładnie robi .app, co powoduje, że ta aplikacja nie działa, więc mogę pracować, aby rozwiązać problem. Do Twojej dyspozycji jest SQL Developer Oracle.

użytkownik1015721
źródło
2
.app jest tylko rozszerzeniem i nie jest obowiązkowe w OSX, aby folder zachowywał się jak aplikacja. Czy kliknąłeś prawym przyciskiem myszy plik i ujawniłeś jego zawartość? Może to pomóc w sprawdzeniu układu i poprawieniu napotkanego błędu.
bmike
Rozszerzenie .app zamienia zwykły katalog w tak zwany „pakiet aplikacji” - który obejmuje plik wykonywalny aplikacji i powiązane zasoby (ikony, grafikę, pliki właściwości, lokalizacje itp.) Zajrzyj na stronę en.m.wikipedia.org/wiki/ Artykuł_pakiet aplikacji lub dokumentacja programistów Apple.
Alex Popov,

Odpowiedzi:

12

„aplikacje” to „Pakiety pakietów” to żargon Apple i są traktowane specjalnie przez system operacyjny. Jak wspomniano powyżej, w rzeczywistości są to katalogi uniksowe, w specjalnym formacie. Rzeczywisty plik wykonywalny systemu Unix znajduje się w podkatalogu o nazwie MacOS, który można zobaczyć za pomocą menu „Pokaż zawartość pakietu” w Finderze.

„Aplikacja” jest analogiczna do katalogu utworzonego podczas instalacji programu Windows. Rzeczywiście możesz przejść do aplikacji i uruchomić plik wykonywalny Unix.

Nie rozwiązuje to problemu, ale bez wiedzy o aplikacji nie zostanie rozwiązany przez manipulowanie pakietem. Musisz skontaktować się z programistą.

Możesz także spojrzeć na aplikację Console, która pozwoli ci sprawdzić wszelkie komunikaty o błędach lub ostrzeżeniach.

Milliways
źródło
Dzięki za informację. Okazuje się, że aplikacja polegała na zmiennej środowiskowej, która została ustawiona w powłoce, ale nie globalnie (do użytku w aplikacjach GUI uruchamianych na przykład z Findera lub Spotlight). Właśnie dlatego widziałem inne zachowanie, gdy uruchomiłem go z muszli w porównaniu z ikoną w doku. Od tego czasu rozwiązałem problem, ustawiając tę ​​zmienną globalnie.
user1015721