Computer >> Máy Tính >  >> Hệ thống >> MAC

Giải phẫu của Gói ứng dụng macOS

Giải phẫu của Gói ứng dụng macOS

Nội dung bên trong ứng dụng macOS và ứng dụng này làm gì? Các ứng dụng macOS trông giống như các tệp nguyên khối, nhưng chúng giống các thư mục với các biểu tượng lạ mắt được gọi là gói. Mở các gói đó và bạn sẽ tìm thấy một loạt các tệp được ứng dụng yêu cầu. Tất cả điều này làm gì? Hiểu biết về các gói này rất hữu ích cho các nhà phát triển, quản trị viên, người sửa đổi trò chơi, người xây dựng Hackintosh, người dùng quan tâm đến bảo mật và bất kỳ ai khắc phục sự cố ứng dụng.

Gói ứng dụng macOS là gì?

Theo định nghĩa của Apple, một gói là "một thư mục có cấu trúc phân cấp chuẩn hóa chứa mã thực thi và các tài nguyên được sử dụng bởi mã đó." Bằng một tên khác, đó là một ứng dụng. Các nhà phát triển phải tuân thủ một cấu trúc và định dạng cụ thể để đảm bảo ứng dụng của họ chạy đúng cách. Phá vỡ những quy ước đó và bạn có thể sẽ phá vỡ ứng dụng của mình. Nếu có điều gì đó không hoạt động bình thường, một gói ứng dụng có thể là một vị trí khắc phục sự cố hữu ích.

Ứng dụng không phải là loại gói duy nhất. Các gói cũng được sử dụng cho các tệp có phần mở rộng như .framework, .bundle, .plugin và .kext. Các gói được hiển thị dưới dạng các đối tượng đơn nhất trong Trình tìm kiếm cho đến khi bạn bước vào chúng bằng cách mở gói của gói.

Mở gói ứng dụng

Không giống như các thư mục, các gói ứng dụng yêu cầu một bước nhảy ngắn để mở.

1. Nhấp chuột phải vào biểu tượng của ứng dụng trong “/ Applications /.”

2. Trong menu ngữ cảnh, hãy nhấp vào “Hiển thị Nội dung Gói.”

Giải phẫu của Gói ứng dụng macOS

3. Nhấp đúp vào thư mục “Nội dung” để vào thư mục chính của ứng dụng.

Giải phẫu gói ứng dụng macOS cơ bản

Trong thư mục “Nội dung” của gói, bạn sẽ tìm thấy một số tệp. Tất cả các ứng dụng macOS tối thiểu phải chứa các tệp sau:

  • Info.plist :bao gồm các chi tiết cấu hình bắt buộc cùng với các chuỗi định danh ứng dụng.
  • MacOS / Có thể thực thi :mã chạy khi người dùng khởi chạy ứng dụng được tìm thấy bên trong thư mục “MacOS”. Nếu không có tệp thực thi, bạn sẽ không có nhiều gói.
Giải phẫu của Gói ứng dụng macOS

Bạn cũng có thể tìm thấy nhiều tệp bổ sung trong một vài thư mục phổ biến:

  • Plugin :các tệp thực thi nhỏ giống như tiện ích mở rộng mở rộng chức năng của tệp thực thi lõi. Không giống như tài nguyên tĩnh, plugin tự động thêm chức năng vào ứng dụng.
  • Tài nguyên :hỗ trợ các tệp mà ứng dụng của bạn dựa vào. Thư mục này bao gồm, nhưng không giới hạn, hình ảnh, biểu tượng, âm thanh, phông chữ, tệp nib, bản địa hóa và kho dữ liệu. Không giống như plugin, những tài nguyên này hỗ trợ chức năng cốt lõi của tệp thực thi.
  • Khung công tác :giống như plugin, các khung cấp cao mà ứng dụng của bạn yêu cầu là các gói riêng của chúng. Tuy nhiên, chúng sử dụng cấu trúc phân cấp khác nhau.
  • Chữ ký Mã :một tệp plist có cấu trúc được sử dụng để cung cấp chữ ký mã cho từng phần của ứng dụng. Những chữ ký này cho phép ứng dụng và macOS xác minh tính toàn vẹn của ứng dụng và ngăn chặn các cuộc tấn công chiếm quyền điều khiển ứng dụng.

Các gói ứng dụng iOS sử dụng cùng một cấu trúc và định dạng tệp cơ bản, mặc dù chúng thường xuất hiện ở một hệ thống phân cấp khác.

Info.plist

Giải phẫu của Gói ứng dụng macOS

Info.plist là thông báo chính về nhân khẩu học cơ bản của ứng dụng của bạn. Điều này bao gồm số nhận dạng gói của bạn, mã này phải là duy nhất so với tất cả các số nhận dạng gói khác. Để đơn giản hóa quy trình này, Apple đề xuất ký hiệu miền ngược, chẳng hạn như “com.apple.siri.launcher” hoặc “org.videolan.vlc”. Để tìm hiểu thêm về Info.plist, hãy xem danh sách các khóa của Apple và xem xét chức năng của mỗi khóa.

Tệp này cũng chứa thông tin ứng dụng cơ bản như biểu tượng ứng dụng, tên ứng dụng, số phiên bản, dữ liệu bản quyền, liên kết báo cáo lỗi và ngôn ngữ mặc định. Theo quy ước và quy tắc hệ thống, chữ "I" trong "Info" luôn được viết hoa.

Thực thi được

Đây là nơi chứa mã chính của ứng dụng của bạn. Khi ứng dụng được mở, macOS sẽ chạy mã có trong tệp thực thi được tìm thấy trong thư mục “MacOS” của gói. Gần như mọi ứng dụng sẽ chỉ có một tệp thực thi duy nhất, mặc dù hai hoặc nhiều tệp có thể được sử dụng cho các tệp thực thi của trình trợ giúp. Tệp này thường không thú vị đối với bất kỳ ai ngoại trừ nhà phát triển phần mềm vì người dùng không thể dễ dàng xem hoặc chỉnh sửa tệp này.

Tài nguyên và Tệp hỗ trợ Bổ sung

Bất kỳ thứ gì cần thiết cho ứng dụng của bạn nên được bao gồm trong gói của nó. Nếu bản thân nó không phải là một phần của tệp thực thi, thì nó sẽ nằm trong một trong các thư mục tài nguyên trong gói. Các tài nguyên này có thể được lưu trữ trong thư mục "Tài nguyên" chính hoặc được chia nhỏ thành các thư mục khác nhau.

  • Khi nghi ngờ, hầu hết các tài nguyên sẽ nằm trong thư mục "Tài nguyên".
  • Các khuôn khổ nằm trong thư mục "Các khuôn khổ".
  • Các plugin nằm trong thư mục "Plugins".
  • Các tệp bản địa hóa (thư mục .lproj) sẽ nằm trong thư mục Tài nguyên.

Bên ngoài những yêu cầu đó, Apple cung cấp nhiều đề xuất và quy ước nên được tuân theo trừ khi bạn có lý do chính đáng để làm khác.

Kết luận

các ứng dụng macOS được chứa trong các gói, là các vùng chứa phân cấp cho các tệp ứng dụng. Cấu trúc cơ bản giống nhau cho mọi ứng dụng. Các tệp mà người dùng quan tâm nhất được tìm thấy trong thư mục Tài nguyên bên trong gói ứng dụng.