2 Replies
      Latest reply on Mar 6, 2019 9:01 PM by SyamalaDutt
      SyamalaDutt Level 1 Level 1 (0 points)

        I see every where Application extensions, Plugins and bundles are used interchangeably. Please some one elaborate what can be achieved using each one of them. Which one of them can be used to add functionality to existing Mac OSX applications, like adding custom menu to existing menubar.

        • Re: what  is difference between Application Extensions, PlugIns and Bundles in OSX?
          hhas01 Level 1 Level 1 (20 points)

          “Bundle” is Apple’s generic term for any collection of program resources, e.g. an application bundle is a directory with `.app` suffix containing a Mach-O executable and its dependencies.


          Plugins and App Extensions are both types of bundles that add new functionality to an existing app. The difference is that a plugin’s code is loaded directly into the app process, whereas an app extension’s code is executed in a subprocess. The former have been around for longer, but the latter is far safer and much more secure. No prizes for guessing which one Apple wants app developers to move to.


          As far as adding new menus to an existing 3rd-party application goes, you’ll have to refer to the app’s developer documentation to see if it provides a suitable extension API (most don’t). OTOH, if you just want a standalone menu that appears on the right-hand side of the menubar no matter what app is running, that’s easily implemented as a standalone application using `NSStatusBar` to display the menu, and setting the `UIElement` flag to true in the app’s Info.plist. Plenty of examples online if you search for those terms.