bundle plug-ins to extend their feature sets. The program must explicitly load such a bundle using dynamic linking functions. bundle package is a loadable bundle containing dynamically linked code that can be loaded by a program at runtime. Mac OS X application bundles typically contain dynamically linked executable programs along with any resources needed by the programs.Ī. These bundles can be implemented in Objective-C or AppleScript. Examples of Bundle Types on Mac OS XĪutomator actions are extensions to the default set of actions supported by the Automator workflow-based application, which allows users to graphically construct a sequence of actions by picking one or more actions from a palette of available actions. Table 21 lists several examples of bundle types on Mac OS X. Bundles can be programmatically accessed using the CFBundle and NSBundle APIs. Several types of Mach-O binaries exist within bundles on Mac OS X. A bundle's opaqueness may be asserted in several ways, for example, through a property list file, through a PkgInfo file, and through the kHasBundle file system attribute. The user may browse the bundle's contents by using the Finder's Show Package Contents contextual-menu item. For example, double-clicking on an application bundle launches the application. The Finder treats several types of bundles as opaque, atomic entitiesas if they were files and not directories. Applications can also be moved after installation since they are usually self-contained. Given such bundles, application installation and removal can be as trivial as copying or deleting, respectively, a single. Everything resides within the iTunes.app directory, rather than being strewn over many system directories. As shown in Figure 212, the iTunes application bundle contains the main iTunes executable, a loadable plug-in bundle, icons, media files, a helper application, localized documentation, and so on. Bundles are well suited for such applications because they keep the various constituents of the application together in a structured manner. An application may also support a plug-in architecture through which anybody may extend the application's functionality by writing loadable plug-ins. An application may implement much of its functionality modularly, across one or more dynamic shared libraries. For example, an application may use a variety of media filesicons, splash images, and soundsin its user interface. Mac OS X applications are often more than just a single stand-alone executable. Hierarchical structure of the iTunes application bundleĪn application bundle is a directory with a name that conventionally has a. Figure 212 shows the hierarchical structure of the iTunes application bundle.įigure 212. Consider the example of an application bundle, which is one of the most commonly used bundle types on Mac OS X. The bundle abstraction is very useful in packaging, deploying, maintaining, and using software. Examples of resources that reside in bundles include executables, shared libraries, plug-ins, header files, images, audio files, documentation, andrecursivelyother bundles. BundlesĪ bundle is a collection of related resources packaged as a directory hierarchy. Before discussing other layers of Mac OS X, let us look at the bundle and framework abstractions, since much of the user-level functionality in Mac OS X is implemented as frameworks, and a framework is a specific type of a bundle.
0 Comments
Leave a Reply. |