Folder locations for macOS app

The application bundle should go in /Applications. This application bundle should contain everything. Libraries, dependencies, everything that the app needs to run, so that should the application bundle be copied to another machine's /Applications directory, it should be able to run.

Installing in /Applications requires admin. Should admin not be available, the standard location for a single user application is ~/Applications. This directory should not be expected to exist.

If something needs to be 'installed' on the system for the app, such as the aforementioned 'resource database', the app should prompt to install it in:

/Library/Application Support/developername/appname/

Should something need to be 'installed' for the current user, it should go in the same path prefixed with their home directory. This doesn't require admin.

~/Library/Application Support/developername/appname/

User files should not be saved in the root of the user's home directory. The user should have the opportunity to save files wherever they please, preferably with a standard OS X save dialog.

Also…

  • Cache files should go in:

    ~/Library/Caches/developername/appname/
    
  • The users preferences should go in:

    ~/Library/Preferences/com.bundleidentifier.plist
    

    If something more than a single property list needs to be saved…

    ~/Library/Preferences/developername/appname/