捆綁_(macOS)

NeXTSTEP ， Mac OS X和GNUStep中 ， 捆綁 （ Bundle ） 是一個目錄 （ 也可能是一個文件 ） ， 它允許相關資源 （ 例如可執行代碼 ， 本地化資源 ， 圖片等 ） 被組合在一起 ， 在某些情況下可以當作一個單獨文件看待 。 在Mac中 ， 該特性在Mac OS 9中引入 ， 被稱爲 “ 包 ” （ package ） ， 它類似於RISC OS和ROX Desktop中應用程序目錄的特性 ， 以及使用SpatialBundle技術的Ubuntu和Debian等Linux發行版 。 應用程序 ， 應用程序框架和插件通常以捆綁的形式將其內部文件組織在一起 ， 同時 ， 文檔也可以構成框架 。 在NeXT的Foundation工具包和Cocoa的Foundation框架中 ， 可以使用NSBundle類操作捆綁 ； 在Core Foundation中 ， 則使用CFBundle系列函數進行操作 。 捆綁通常包含一個可執行代碼文件和一些資源文件 ， 例如NIB文件 ， 圖像 ， 聲音 ， 本地化字符串 ， 配置文件 （ 通常是屬性列表文件 ） 和其它媒體 。 在其它系統上 ， 例如Microsoft Windows ， 這些資源通常在編譯時就被直接包含在了可執行文件中 。 Mac OS X從NeXTSTEP中引入了捆綁的概念 ， 用以代替早期Mac OS中以資源分支存儲附加元數據的技術 。 多數類型的捆綁在使用時與普通文件類似 ， 從而減少了其內部文件意外更改或丟失的風險 。 同時 ， 捆綁的另一個意義在於可以使用文件夾簡化組織資源的方式 ， 避免使用資源分支導致的額外的複雜性 。 捆綁的統一類型標識符是com.apple.bundle ， 而包的則是com.apple.package 。