github ProfileCreator/ProfileCreator v0.2.5-beta.10
ProfileCreator 0.2.5 (Beta 10)

latest releases: v0.3.3, v0.3.2, v0.3.1...
pre-release5 years ago

Please report any bugs, feature requests or suggestions as an issue to this repository.

Alternate Downloads

If the downloaded .dmg doesn't open correctly for you, please try one of the alternative downloads provided.

ProfileCreator Wiki

A number of new wiki pages have been added, including a list of supported payloads, ProfileCreator preferences, and a detailed user guide.

New Features

Additional Payload Key Information

A new footer for payload keys is shown if there are additional information about that key.

The following information items are currently supported:

  • If the key is only supported from or up to a specific os/app-version.
  • URL linking to additional documentation about the key, shown as a small book icon. When clicked it opens this URL in your default web browser. (#135)

Export to .plist

Now, in addition to exporting profiles you can also export preferences to a .plist. This makes it easier to import into the Custom Settings payload of an MDM.

This option is only shown when holding the export button in the profile or payload window to bring upp the context menu and choosing "Export Plist".

This will export each enabled payload domain to their own file in the selected folder.

Export Button in Editor Window

Added an export button to the profile editor window to make exporting the currently open profile easier.

Export Keyboard Shortcut

The Export menu item now has a keyboard shortcut mapped to ⌘E (#128)

Custom ProfileIdentifierFormat & PayloadIdentifierFormat

In the ProfileCreator preferences under 'Advanced', you can specify a custom default format for the ProfileIdentifier & PayloadIdentifier values. See the wiki for more info. (#55)

The application will rename your profile configuration file (.pfcconf) to match the current value.

IMPORTANT As there can't be two files with the same name in a directory, the application will not rename a file if the new name already exists. The file is still saved though, but keeps its old name.

The file rename only occurs when a profile is saved, it does not change every saved file retroactively if the setting is changed.

New Interface Item: Slider

A slider is now available as an input method for certain payload keys with a predefined list of items to select. See Use slider as input method

New Interface Item: Combo Box

The app now support keys that allow both custom input and selecting values from a list. See Allow both custom and pfm_range_list values as input

Copy Description Text

Now payload key description text is selectable for copying & pasting.

Develper: Show Payload Manifest in Finder

When you select a payload from the left sidebar, you can click 'Show Payload Manifest in Finder' from the Developer menu (this must be enabled first) to take you directly to the manifest file in the Finder.

Donate Button

I have been asked multiple times to add a Donate button, so from this version there is a Donate button in the application preferences under General.

Updated ProfileManifest Features

Vist the Manifest Format Versions to view all changes made to the manifest format used by ProfileCreator.

ProfileManifest Subdomains

In some cases, there are payloads that are used for multiple purposes. com.apple.MCX, for example, handles Energy Settings as well as Time Server & Mobile Accounts. This provides the ability to separate preferences into different manifest files, but which all contribute to the same domain. (ProfileCreator/ProfileManifests#20)

  • com.apple.MCX-EnergySettings
  • com.apple.MCX-MobileAccounts
  • com.apple.MCX-TimeServer

Allow historical dates

Now you can supply a historical date for date preferences by setting pfm_date_allow_past key to true. (#129)

Additional options for payload keys utilizing a pfm_range_list

Allow only unique values in an Array

The new key pfm_value_unique when set to true will only permit a given value to be added once within an array. Support for additional input methods will be added in a later release (#146).

Allow both custom and pfm_range_list values as input

The new key pfm_range_list_allow_custom_value when set to true will allow the user to enter custom value(s) for a given preference while also selecting from the available pfm_range_list items.

Use slider as input method

To use a slider as the input method for a pfm_range_list, the new key: pfm_view must be set to slider.

Support for value copy from other domains

The pfm_value_copy and pfm_default_copy keys now supports specifying the domain before the key path to be copied by using the @ character as domain-keypath separator.

One example of this configuration are payloads that support for the identity payload. By specifying the following configuration in a payloads IdentificationUUID key, the value for the Identification payload's UUID will be automatically populated as the default value if the identity payload is added to the profile.

<key>pfm_default_copy</key>
<string>com.apple.configurationprofile.identification@PayloadUUID</string>

Allow custom decimal places in number textfields.

The new key pfm_value_decimal_places will allow the manifest creator to specify the number of decimal places to show in the GUI. (#110)

New Payloads

Updated Payloads

com.apple.iMovieApp

com.apple.logic10

com.apple.SoftwareUpdate

com.apple.applicationaccess-macOS (formerly com.apple.applicationaccess)

com.microsoft.autoupdate2

com.apple.dashboard

com.apple.NSExtensions

com.apple.mail.managed

com.apple.ews.account (formerly com.apple.eas.account)

com.microsoft.Outlook

com.microsoft.Excel

com.microsoft.OneDrive

menu.nomad.login.ad

com.apple.Enterprise-Connect

Bug Fixes

  • Fixed a bug that was causing the selected payload tab when switching GUI & XML views to not be remembered (#59 & #127)
  • Fixed bug causing a long pfm_range_list to not display all available options (#99)
  • Fixed issue causing segmented controls to not extend to multiple lines (#100)
  • Fixed issue causing multiple items to not be able to be added to an array (#101)
  • Fixed issue where an array of booleans was not creating a UI (#104)
  • Fixed issue where the pfm_value_unit was not displaying when pfm_range_list was used (#111)
  • Fixed issue where in some cases the full pfm_description was not displaying (#117 & #57)
  • Fixed issue where in some cases the "Deprecated" text was being hidden when a long pfm_title was used (#119)
  • Fixed issue where pfm_app_deprecated was not appearing (#138 & #118)
  • Fixed issue were a long text field would cause the pfm_value_unit to not appear (#141)
  • Fixed issue that prevented you from adding additional items supplied in a pfm_range_list for an array of strings when the first item from the list was selected.
  • Fixed a bug where arrays with a single dictionary (where the array has pfm_range_max = 1 and the subkey of that array was a dictionary) would not display, save or export correctly. (LoginScripts for example).
  • Fixed issue that caused a preference with no pfm_title configured to have its text turn orange when clicked but not return to black when clicked again.
  • Fixed issue where the number input text field was too small for some range definitions when the value type was set to float. (#108)
  • Fixed issue where the application sometimes would crash if no item was selected in a tableview and the - button was pressed to remove a row.
  • Fixed issue where the export button's menu was shown even if the button was disabled.
  • Fixed issue where importing an existing mobileconfig with payloads not known to ProfileCreator would not show an error if the payload was in the "Profile" content style.
  • Fixed issue where importing an existing mobileconfig with payloads not known to ProfileCreator would not allow the unknown payloads to be exported.
  • Fixed issue where the placeholder string Set On Device was not shown for conditionals that had a requirement for pushed payloads.
  • Fixed minor layout issues with tableview row items.

Contribute

There are many ways to contribute to this project. Here are a few listed below:

  • Test and report bugs or incorrect behavior both in the UI and in the exported profiles.
  • Language and spelling errors. (English is not my native language).
  • Missing payloads or payload keys. (Contribute to the ProfileManifests repository to improve the manifests used to define all payloads, keys and their interactions.)
  • Add feature requests or suggestions by opening an issue in this repository.

Don't miss a new ProfileCreator release

NewReleases is sending notifications on new releases.