Skip to content

redefine how sparkle framework is included and used by the NSM

New Variable disableAutoUpdateFramework:

  • The variable name disableAutoUpdateFramework is chosen to clarify its purpose
  • enableAutoUpdater can be used as a legacy value, essentially serving as an inverted alias for disableAutoUpdateFramework
  • By default, if not explicitly set, disableAutoUpdateFramework is treated as false. This means the Auto Update Framework (Sparkle) will be used unless stated otherwise.
  • disableAutoUpdateFramework is only relevant for MDM configuration
  • If disableAutoUpdateFramework == true, the auto-update settings will be displayed in the settings but cannot be changed

The configuration of the Sparkle Framework's behavior is partially done in the app's Info.plist (fixed configuration) and in the settings by the user (see https://sparkle-project.org/documentation/customization/).

  • Info.plist

    • SUEnableAutomaticChecks
      • By default when this is not set, automatic checking for updates is initially disabled but users will be prompted for permission for Sparkle to check for updates automatically on second launch
      • This variable is only relevant during the initial launch
      • our setting: NO (which disables automatic checking for updates by default, also without asking for permission since we let set that by the user in settings
    • SUAllowsAutomaticUpdates
      • By default, Sparkle automatically presents your users with the option to allow to automatically download and install any available updates if automatic checking of updates is enabled
      • I think it's best if we don't set a value here, so we use the default: If the user agrees to the displayed dialog, the software will automatically search for new versions and install them without any further action required from the user.
      • our setting: unset/default
    • SUAutomaticallyUpdate
      • Enables automatic download and installation of updates by default
      • defaults to NO
      • our setting: unset/default
    • SUShowReleaseNotes
      • hide release notes display from the update alert
      • defaults to YES
      • our setting: unset/default
  • user changeable settings via properties:

    • automaticallyChecksForUpdates
      • A property indicating whether or not to check for updates automatically.
      • our initial setting: YES
    • automaticallyDownloadsUpdates
      • A property indicating whether or not updates can be automatically downloaded in the background
      • our initial setting: YES
  • other properties:

    • canCheckForUpdates
      • A property indicating whether or not updates can be checked by the user.
      • if set to true -checkForUpdates can be invoked
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information