Tập tin .app thực sự làm gì?


12

Tôi hoàn toàn mới với Mac OS X (đến từ Windows) và tôi đang cố gắng hiểu các tệp .app. Trong Windows, chúng tôi đã có các tệp thực thi (tệp .exe). Nếu bạn đã mở, chương trình của bạn sẽ chạy và mọi tệp khác mà nó cần được đặt ở nơi khác. Trong Mac OS X, theo tôi hiểu, các "tệp" .app này thực sự giống như các thư mục chứa không chỉ bản thân tệp thực thi mà còn các tệp khác mà ứng dụng có thể cần.

Câu hỏi của tôi là, chính xác những tập tin .app này làm gì? Làm thế nào khác với khoan vào chúng và chạy thực tế thực tế?

Gần đây tôi đã cố gắng để có một ứng dụng chạy trên OS X. Cuối cùng tôi cũng đã làm cho nó hoạt động (có vẻ như JAVA_HOME cần được thiết lập). Tuy nhiên, nó chỉ hoạt động khi tôi truy sâu vào thư mục .app và chạy tập lệnh shell khởi động ứng dụng. Nếu tôi bấm đúp vào tệp / thư mục .app, ứng dụng sẽ bật lên trong một lúc, cuối cùng sẽ dừng lại và không có gì xảy ra (ngoài những người hâm mộ quay cuồng như điên). Vì vậy, rõ ràng HĐH đang làm một cái gì đó khác biệt khi nó cố chạy ứng dụng từ tệp .app so với trực tiếp từ tệp thực thi bên trong.

Tôi muốn hiểu chính xác những gì .app đang làm khiến ứng dụng này không chạy để tôi có thể làm việc để khắc phục sự cố. FYI ứng dụng là Nhà phát triển SQL của Oracle.


2
.app chỉ là một tiện ích mở rộng và không bắt buộc trên OSX để thư mục hoạt động giống như một ứng dụng. Bạn đã nhấp chuột phải vào tập tin được đề cập và tiết lộ nội dung? Nó có thể giúp bạn tìm kiếm bố cục và tinh chỉnh lỗi bạn đang gặp phải.
bmike

.app mở rộng biến một thư mục thông thường thành cái gọi là "gói ứng dụng" -which bao gồm thực thi ứng dụng và các nguồn lực có liên quan (các biểu tượng, đồ họa, tác phẩm bất động sản, tin cục bộ, vv) Có một cái nhìn tại en.m.wikipedia.org/wiki/ Bài viết Application_bundle hoặc tài liệu dành cho nhà phát triển của Apple.
Alex Popov

Câu trả lời:


12

"Ứng dụng" là "Gói Gói" là biệt ngữ của Apple và được HĐH xử lý đặc biệt. Như đã đề cập ở trên, đây thực sự là các thư mục Unix, ở một định dạng đặc biệt. Tệp thực thi Unix thực tế nằm trong thư mục con có tên MacOS, bạn có thể thấy bằng cách sử dụng menu "Hiển thị nội dung gói" trong Finder.

"Ứng dụng" tương tự như thư mục được tạo khi bạn cài đặt chương trình Windows. Bạn thực sự có thể điều hướng vào ứng dụng và chạy Tệp thực thi Unix.

Điều này không giải quyết được vấn đề của bạn, nhưng không biết thêm về ứng dụng, nó sẽ không được giải quyết bằng cách thao tác gói. Bạn sẽ cần liên hệ với nhà phát triển.

Bạn cũng có thể xem ứng dụng Console, ứng dụng này sẽ cho phép bạn kiểm tra mọi thông báo lỗi hoặc cảnh báo.


Cảm ơn bạn về thông tin. Hóa ra ứng dụng dựa vào một biến môi trường được đặt trong trình bao nhưng không phải trên toàn cầu (ví dụ để sử dụng cho các ứng dụng GUI được khởi chạy từ Finder hoặc Spotlight). Đó là lý do tại sao tôi thấy hành vi khác nhau khi tôi chạy nó từ vỏ so với từ biểu tượng trong thanh công cụ. Kể từ đó tôi đã giải quyết vấn đề bằng cách đặt biến đó trên toàn cầu.
1015721
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.