Bundle (macOS)

Bundle
Filename extension
.app, .framework, .kext, .plugin, .docset, .xpc, .qlgenerator, .component, .saver, .mdimporter, etc.
Uniform Type Identifier (UTI)com.apple.bundle
Container forexecutable binary, metadata, other bundles, any other file needed to run the application.

In NeXTSTEP, OPENSTEP, and their lineal descendants macOS, iOS, iPadOS, tvOS, watchOS, and visionOS, and in GNUstep, a bundle is a file directory with a defined structure and file extension, allowing related files to be grouped together as a conceptually single item.

Examples of bundles that contain executable code include applications, frameworks, and plugins. This kind of bundle usually contains one file representing executable code, and files that represent resources such as nibs, templates, images, sounds, and other media. On some other systems, such as Microsoft Windows, these resources are usually included directly in the executable file itself at compile time. On older Macintoshes, a similar technique is used, where additional metadata can be added to a file's resource fork. Similar in concept are the application directories used in RISC OS and on the ROX Desktop.

Examples of bundles that do not contain executable code include document packages (iWork documents) and media libraries (iPhoto Library).

Bundles are programmatically accessed with the NSBundle class in Cocoa, NeXTSTEP and GNUstep's Foundation frameworks, and with CFBundle in Core Foundation. Bundles often include an Info.plist file for metadata.[1] The Uniform Type Identifier (UTI) for an Apple bundle is com.apple.bundle.[2]

Application bundles

Application bundle
Filename extension
.app
Uniform Type Identifier (UTI)com.apple.application-bundle
Type of formatapplication software
Container forexecutable binary
Extended fromBundle

Application bundles are directory hierarchies, with the top-level directory having a name that ends with a .app extension.

In a macOS application bundle, the first directory in the bundle underneath the top-level directory is usually named Contents. Within Contents there is usually another directory, called MacOS, which contains the application's executable code. The Contents folder contains a file named Info.plist, which contains application information, such as the software vendor's name, name of the files that contain the applications executable and icon, the version of the application, permissions requested, etc. Within the Contents folder there is usually also a directory called Resources, which contains the resources of the application.[3]

Among other things, the Resources folder contains localized versions of the application's nib files.

Other common subdirectories include Plugins, Frameworks, _CodeSignature and Shared Frameworks. The Frameworks directory contains frameworks used by the application, and are used even if another version of the framework exists on the system. The Shared Frameworks directory contains frameworks that can be used both by the application that contains them, and other applications; they are used only if a newer version does not exist elsewhere on the system. Plugins contains extensible code used by the application. The _CodeSignature folder contains information used by the system to validate that the package to establish that the package originates from a trusted party, and has not been tampered with.

By default, the Finder displays application bundles, which can also be referred to as packages, as opaque files with no underlying structure; the contents of the bundle can be shown with the "Show Package Contents" context menu item.

GNUstep by default uses the name of the application to name the folder that contains application code. An alternative is to name them by the computer architecture and OS the code is intended for to form a fat binary, so the application can be opened on many platforms.[4][5]

macOS framework bundles

Framework bundle
Filename extension
.framework
Uniform Type Identifier (UTI)com.apple.framework
Extended frombundle

macOS frameworks are also stored as bundles;[6] the top-level directory of a framework bundle has a name that is the name of the framework followed by the extension .framework. In the top-level directory is a Versions directory, with subdirectories for one or more versions of the framework, each subdirectory containing the dynamic library code for the framework, in a file whose name is the same as the name of the framework, possibly with a Headers folder containing header files for the framework, and other subfolders such as Resources. The Versions directory also contains a symbolic link Current to the directory for the current version of the framework. In the top-level directory are symbolic links to the contents of Versions/Current.[7]

The Finder displays framework bundles as directories rather than as opaque files.

Although GNUstep uses frameworks, they are not usually stored as bundles. This is because the full semantics of framework loading are considered too alien to other platforms.[8]

Loadable bundles

Loadable bundles are bundles which contain code that can be loaded at runtime.[9] Loadable bundles usually have the extension .bundle, and are most often used as plug-ins. On macOS, there is a way to load bundles even into applications that do not support them, allowing for third party hacks for popular applications, such as Safari[10] and Apple Mail.[11][12] A feature inherited from NeXTSTEP, GNUstep has the -[NSBundle principalClass] interface too.

By default, the Finder displays loadable bundles, which can also be referred to as packages, as opaque files with no underlying structure; the contents of the bundle can be shown with the "Show Package Contents" context menu item.

Other bundle formats

There are many macOS applications which utilize their own custom bundle format (e.g. CandyBar .iContainer, Aperture .aplibrary, VMware Fusion .vmwarevm, etc.).

.lproj

An .lproj file is a bundle that contains localization files for OpenStep, macOS, or GNUstep software. It typically contains the .nib files for a given language along with .strings files and images if needed (for example, ReadMe or license files). These localized files are used by installer makers to customize install packages. They are also included in an application bundle.

See also

References

  1. ^ "Information Property List - Bundle Resources". Apple Developer Documentation.
  2. ^ "System-Declared Uniform Type Identifiers". Uniform Type Identifiers Reference. Apple Inc. Retrieved 2012-06-10.
  3. ^ "Bundle Structures". Bundle Programming Guide. Apple Inc. 2017-03-27. Application Bundles.
  4. ^ "PackagingDrafts/GNUstep". Fedora Project Wiki.
  5. ^ "gnustep/tools-make: README.Packaging". GitHub. 5 December 2021.
  6. ^ "Framework". developer.apple.com. Retrieved 2020-10-06.
  7. ^ "Bundle Structures". Bundle Programming Guide. Apple Inc. 2017-03-27. Anatomy of a Framework Bundle.
  8. ^ "User FAQ". GNUstep.
  9. ^ Code Loading Programming Topics for Cocoa: About Loadable Bundles
  10. ^ "Pimp My Safari: plugins". Archived from the original on 2007-10-31.
  11. ^ "Apple Mail plug-ins and tools". Archived from the original on 2009-03-08. Retrieved 2007-11-04.
  12. ^ "Hawk Wings — Plug-ins for Apple Mail". Archived from the original on 2007-08-31.

Read other articles:

Untuk organisasi nirlaba, lihat Artforum Culture Foundation. ArtforumSampul Artforum edisi Mei 2019EditorDavid VelascoMantan editorMichelle Kuo, Ingrid Sischy, Jack BankowskyKategorimajalah seniFrekuensiBulananPendiriJohn P. Irwin, Jr.Didirikan1962NegaraASBerpusat diNew York CityBahasaInggrisSitus webwww.artforum.comISSN0004-3532 Artforum adalah sebuah majalah bulanan internasional khusus seni rupa kontemporer. Kontributor terkenal Walter Darby Bannard Andrew Berardini Maurice Berger Yve-Alai...

 

Not to be confused with Baron Hutton, Chairman of the Hutton Inquiry. British Labour politician The Right HonourableThe Lord Hutton of FurnessPCHutton in 2009Secretary of State for DefenceIn office3 October 2008 – 5 June 2009Prime MinisterGordon BrownPreceded byDes BrowneSucceeded byBob AinsworthSecretary of State for Business, Enterprise and Regulatory ReformPresident of the Board of TradeIn office28 June 2007 – 3 October 2008Prime MinisterGordon BrownPreceded byAlistai...

 

City in Minnesota, United States City in Minnesota, United StatesSt. PeterCityDowntown St. PeterMotto: Where History & Progress MeetLocation of the city of St. Peterwithin Nicollet Countyin the state of MinnesotaSt. PeterShow map of MinnesotaSt. PeterShow map of the United StatesCoordinates: 44°19′46″N 93°57′57″W / 44.32944°N 93.96583°W / 44.32944; -93.96583CountryUnited StatesStateMinnesotaCountyNicolletFounded1853Incorporated1873Government �...

Inter-App Audio (IAA) is a deprecated[1] technology developed by Apple Inc. which routes audio and MIDI signals between applications on the iOS mobile operating system. The technology was first introduced in 2013 in iOS 7 and deprecated in 2019 with the release of iOS 13. Inter-App Audio Block Diagram Scope Inter-App Audio is a host-plugin technology. An IAA host application connects to a node application to send and receive audio, MIDI, timeline information, and other signals. Node a...

 

Artikel ini bukan mengenai Daftar Bupati Padang Pariaman. Wali Kota PariamanLambang Kota PariamanPetahanaRoberia Penjabatsejak 12 Oktober 2023KediamanRumah Dinas Wali Kota PariamanMasa jabatan5 tahun, sesudahnya dapat dipilih kembali sekaliDibentuk29 Oktober 1987Pejabat pertamaAdlis LeganSitus webwww.pariamankota.go.id Wali Kota Pariaman adalah politisi yang dipilih untuk bertanggung jawab dalam mengatur dan mengelola pemerintahan Kota Pariaman, sebagai bagian dari sistem penyelenggaraan...

 

Fearne CottonBiographieNaissance 3 septembre 1981 (42 ans)NorthwoodNationalité britanniqueFormation Haydon School (en)Activités Animatrice de télévision, journaliste, actrice, disc jockeyPériode d'activité depuis 1996Conjoint Jesse Wood (en)Autres informationsA travaillé pour BBC Radio 1ITVSite web (en) www.officialfearnecotton.commodifier - modifier le code - modifier Wikidata Fearne Cotton en 2014 Fearne Cotton (née le 3 septembre 1981 à Northwood) est une animatrice de t...

Шалфей обыкновенный Научная классификация Домен:ЭукариотыЦарство:РастенияКлада:Цветковые растенияКлада:ЭвдикотыКлада:СуперастеридыКлада:АстеридыКлада:ЛамиидыПорядок:ЯсноткоцветныеСемейство:ЯснотковыеРод:ШалфейВид:Шалфей обыкновенный Международное научное наз...

 

HajranDesaNegara IndonesiaProvinsiJambiKabupatenBatanghariKecamatanBatin XXIVKode pos36656Kode Kemendagri15.04.04.2006 Luas... km²Jumlah penduduk... jiwaKepadatan... jiwa/km² Hajran adalah salah satu desa di wilayah kecamatan Batin XXIV, Kabupaten Batanghari, Provinsi Jambi, Indonesia. Pranala luar (Indonesia) Keputusan Menteri Dalam Negeri Nomor 050-145 Tahun 2022 tentang Pemberian dan Pemutakhiran Kode, Data Wilayah Administrasi Pemerintahan, dan Pulau tahun 2021 (Indonesia) Peratura...

 

This article relies excessively on references to primary sources. Please improve this article by adding secondary or tertiary sources. Find sources: 1960 United States Senate election in Kentucky – news · newspapers · books · scholar · JSTOR (September 2020) (Learn how and when to remove this message) 1960 United States Senate election in Kentucky ← 1956 (special) November 8, 1960 1966 →   Nominee John Sherman Cooper Keen Jo...

Si ce bandeau n'est plus pertinent, retirez-le. Cliquez ici pour en savoir plus. Cet article ne cite pas suffisamment ses sources (décembre 2022). Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références ». En pratique : Quelles sources sont attendues ?...

 

Pacte germano-soviétique Modifications territoriales prévues par le pacte et finalement effectuées. Données clés Langues Russe et allemand Données clés Signé 23 août 1939Moscou (URSS) Parties Parties Union soviétique  Reich allemand Signataires Viatcheslav Molotov pour Joseph Staline Joachim von Ribbentrop pour Adolf Hitler modifier Conséquences territoriales et démographiques du pacte germano-soviétique. Le Pacte germano-soviétique, ou pacte Molotov–Ribbentrop, est un a...

 

Politics of Mozambique Constitution Human rights Executive President Filipe Nyusi Prime Minister Carlos Agostinho do Rosário Legislature Assembly of the Republic Judiciary Constitutional Council Elections Recent elections General: 201420192024 Political parties Administrative divisions Provinces Districts Postos Foreign relations Ministry of Foreign Affairs Minister: Verónica Macamo Diplomatic missions of / in Mozambique Passport Visa requirements Visa policy Africa portal Other countri...

American international financier Joshua BatesDaguerreotype of Bates (c. 1850)Born(1788-10-10)October 10, 1788Weymouth, Massachusetts, U.S.DiedSeptember 24, 1864(1864-09-24) (aged 75)SpouseLucretia Augusta SturgisChildren2Parent(s)Joshua BatesTirzah Pratt BatesRelativesSylvain Van de Weyer (son-in-law) Joshua Bates (October 10, 1788 – September 24, 1864) was an American international financier who divided his life between the United States and the United Kingdom. Early life Ba...

 

Beyrie-en-BéarncomuneBeyrie-en-Béarn – Veduta LocalizzazioneStato Francia Regione Nuova Aquitania Dipartimento Pirenei Atlantici ArrondissementPau CantoneArtix et Pays de Soubestre TerritorioCoordinate43°22′N 0°28′W43°22′N, 0°28′W (Beyrie-en-Béarn) Superficie2,73 km² Abitanti181[1] (2009) Densità66,3 ab./km² Altre informazioniCod. postale64230 Fuso orarioUTC+1 Codice INSEE64121 CartografiaBeyrie-en-Béarn Sito istituzionaleModifica dati su Wikid...

 

القانون العسكري الألمانيالتاريخالتأسيس 1900 الاختفاء 1919 الإطارالنوع منظمة المقر الرئيسي برلين البلد  ألمانيا تعديل - تعديل مصدري - تعديل ويكي بيانات Reichsmilitärgericht (يسار) في شارلوتنبورغ ، ج. 1915 القانون العسكري الألماني له تاريخ طويل.[1][2][3] التاريخ كانت المحاكم ال...

RememberAlbum studio karya Big BangDirilis5 November 2008Direkam2008Genre K-pop hip pop R&B dance-pop electropop Durasi39:12LabelYG EntertainmentProduser G-Dragon Yang Hyun Suk Kronologi Big Bang Number 1(2008)Number 12008 Remember(2008) Big Bang (2009)Big Bang2009 Singel dalam album Remember Sunset GlowDirilis: 5 November 2008 Strong BabyDirilis: 1 Januari 2009 Remember adalah album studio kedua dari boy band asal Korea Selatan, Big Bang. Album ini dirilis pada 5 November 2008 oleh Y...

 

Falcon 1Lanceur spatial léger Premier lancement de la Falcon 1, qui se soldera par un échec. Données générales Pays d’origine États-Unis Constructeur SpaceX Premier vol 26 mars 2006 Dernier vol 14 juillet 2009 Statut Hors service Lancements (échecs) 5 (3) Hauteur 21,3 mètres Diamètre 1,7 mètre Masse au décollage 27 200 kg Base(s) de lancement Îles Omelek Famille de lanceurs Falcon Charge utile Orbite basse 670 kg Orbite héliosynchrone 430 kg Motorisation Ergols LOX + RP-1 1er ...

 

American TV series (2014–17) This article is about the television series. For the mental health condition, see survivor guilt. For the album by G Herbo, see Survivor's Remorse (album). For the Roddy Ricch song, see Survivor's Remorse (song). Survivor's RemorseGenreComedy dramaCreated byMike O'MalleyStarring Jessie T. Usher RonReaco Lee Erica Ash Teyonah Parris Tichina Arnold Mike Epps ComposerLudwig GöranssonCountry of originUnited StatesOriginal languageEnglishNo. of seasons4No. of episod...

Allium saxatile Klasifikasi ilmiah Kerajaan: Plantae Klad: Tracheophyta Klad: Angiospermae Klad: Monokotil Ordo: Asparagales Famili: Amaryllidaceae Genus: Allium Spesies: Allium saxatile Nama binomial Allium saxatileM.Bieb. Allium saxatile adalah spesies tumbuhan yang tergolong ke dalam famili Amaryllidaceae. Spesies ini juga merupakan bagian dari ordo Asparagales. Spesies Allium saxatile sendiri merupakan bagian dari genus bawang Allium.[1] Nama ilmiah dari spesies ini pertama kali ...

 

  لمعانٍ أخرى، طالع كين (توضيح). كين الإحداثيات 37°56′35″N 84°38′28″W / 37.9430853°N 84.6411156°W / 37.9430853; -84.6411156   تاريخ التأسيس 1844  تقسيم إداري  البلد الولايات المتحدة[1]  التقسيم الأعلى مقاطعة جيسامين  خصائص جغرافية ارتفاع 272 متر  عدد السكان  عدد السك...