Skip to content

Releases: ProfileCreator/ProfileCreator

Big Sur Compatibility

25 Jun 17:09
62cea3d
Compare
Choose a tag to compare
Big Sur Compatibility Pre-release
Pre-release

This unsigned version of 0.3.3 has been in the #profilecreator MacAdmins Slack channel for a while and thought it was finally time to bring it out to the public.

At this time we have no intention of addressing the question of code signing this open source software nor have had any additional development on the app itself outside of adding Big Sur support.

Happy profile creating!

ProfileCreator 0.3.2

17 Jul 09:04
Compare
Choose a tag to compare
ProfileCreator 0.3.2 Pre-release
Pre-release

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

Remeber that the ProfileCreator wiki is continuously updated with information about the application and the included payloats.

New Features

Open Source

ProfileCreator is now Open Source under the GNU General Public License v3.0.

I write about this and the reasons why I have to stop developing this application in a blog post here: https://erikberglund.github.io/2019/Profile_Creator_Open_Source/

Ability to reorder TableView rows.

It's now possible to reorder TableView rows and to add rows directly below the selected row.

New Payloads

  • edu.psu.macoslaps (macOS) (Added by @erikberglund)
  • com.apple.iWork.Numbers (macOS) (Added by @tom.case)
  • com.apple.iWork.Keynote (macOS) (Added by @tom.case)
  • com.apple.iWork.Pages (macOS) (Added by @tom.case)
  • com.apple.iTunes (macOS) (Added by @tom.case)
  • com.apple.iBooksX (macOS) (Added by @tom.case)

Updated Payloads

com.microsoft.rdc.macos

com.apple.coreservices.uiagent

com.apple.TCC.configuration-profile-policy

com.apple.Safari

  • @tom.case added CanPromptForNotifications, EnableExtensions, DidDisableIndividualExtensionsAfterRemovingOnOffSwitchIfNecessary.

com.apple.smartcard

ManagedInstall

  • @apizz added LicenseInfoURL,

Bug Fixes

  • Fixed issue...

Contribute

If you wish to contribute to this project, the following things are a good starting point:

  • 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.

ProfileCreator 0.3.1

22 May 19:31
Compare
Choose a tag to compare
ProfileCreator 0.3.1 Pre-release
Pre-release

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

Remeber that the ProfileCreator wiki is continuously updated with information about the application and the included payloats.

New Features

Import Multiple Files

You can now select multiple files when importing to a file view that supports multiple payloads. Each file will then create a new payload.

Useful for adding multiple fonts or certificates.

Bug Fixes

  • Fixed issue where importing existing profile or paylosd on 10.14 would crash the app.
  • Fixed issue where exporting profiles in the XML content style, or with multiple payloads. The exported file would only include one payload.

Contribute

If you wish to contribute to this project, the following things are a good starting point:

  • 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.

ProfileCreator 0.3.0

17 May 12:31
Compare
Choose a tag to compare
ProfileCreator 0.3.0 Pre-release
Pre-release

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

Icon

Thanks to the very generous Tom Bridge and Technolutionary, LLC, we now have an Icon for ProfileCreator!

The icon is made by the artist Katherine M. Ahern which you can find at her website: kateahern.com

App Updates

From this version and forward the application will show a notification whenever a new version of the app is released.

And through the Sparkle framework you will also be able to update the application in place without needing to manually download it from GitHub.

Notes

A text box has been added where the value for the key pfm_note will be shown to bring extra attention to some aspect of the payload key.

Substitution Variables

A new key in the manifest allows the manifest creator to define available substitution variables for the specific key.

Substitution variables are shown in purple and will show a popover when hovering the mouse over them describing the variable and the source for it's replacement.

Button: Import

An import button is now available for all keys that support drag/drop as a method of importing data for a payload key.

Button: Remove

A "Remove" button is now available for data payload keys where files can be added. (#156)

Additional Payload Key Information

Added additional fields to the footer introduced in version 0.2.5:

  • Scope (Shows if a payload key is only supported in a subset of the scopes for the entire payload)

On Demand loading of dynamic local preferences manifests

From this version, the local preferences generated manifest are only loaded if that option is selected from the app preferences.

Multiple selections in tableview allowed

It is now possible to select multiple rows in a tableview.

New build versioning system

To comply with the Sparkle framework for updates, the build number CFBundleVersion will from now on always be incremented for each release.

New Payloads

Updated Payloads

.GlobalPreferences

  • @erikberglund added max os version for the CSUIDisable32BitWarning key and now pointing to com.apple.coreservices.uiagent for 10.14

com.apple.loginwindow

com.apple.syspolicy.kernel-extension-policy

  • @apizz added a pfm_note describing an interaction between whitelisting entire Team Identifiers and specific Team- and Bundle Identifiers.

com.apple.airplay

  • @erikberglund added import function for MAC addresses found in csv.

Bug Fixes

  • Fixed issue not being able to select menu items in PopUp Buttons inside tableviews. (#150)
  • Fixed issue where certain icons and features in Dark Mode were not being uses (#149)
  • Fixed issue where the application tried to create missing folder inside it's own imported frameworks.
  • Fixed issue where the file prompt in file views did not display file extensions in the prompt if they weren't UTI types.
  • Fixed issue where a Combo Box that was the target of an exclusion would not allow changing value via the PopUp button.
  • Fixed issue where a Combo Box would not select the title but only the actual value whenever pfm_range_list_titles was specified.

Contribute

If you wish to contribute to this project, the following things are a good starting point:

  • 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.

ProfileCreator 0.2.5 (Beta 10)

10 Apr 20:38
Compare
Choose a tag to compare
Pre-release

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)

Read more

ProfileCreator 0.2.4 (Beta 9)

17 Dec 06:44
d4615c7
Compare
Choose a tag to compare
Pre-release

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

Alternative Downloads

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

Updated Features

ProfileManifest Repository

Much work has gone into updating the ProfileManifest Repository.

Manifest Alias Key

Added an alias to the pfm_type value. Now it's possible to write real as well as float to describe a floating point value type. (#86)

Checkbox for pfm_range_list choice.

A new option was added to allow a pfm_range_list with precisely two items in its array to be represented as a checkbox.

New Payloads

Updated Payloads

Updated all payloads currently in ProfileCreator with the changes in the latest Configuration Profile Reference.

  • com.apple.mail.managed
  • com.apple.security.FDERecoveryRedirect
  • com.apple.SetupAssistant.managed
  • com.apple.wifi.managed

.GlobalPreferences

com.apple.SoftwareUpdate

com.microsoft.Word

com.apple.dock

Bug Fixes

  • Fixed a bug when entering fingerprint with invalid characters in the SCEP payload.
  • Fixed a bug where you could only add one item to an array of dictionaries before you had to de-select and re-select the payload to add another.
  • Fixed a bug in the base642data value processor where the conversion from data to string sometimes returned nil.
  • Fixed a bug where a payload key contained a period (.) at the root of the KeyPath it would be set incorrectly.
  • Fixed a bug where the exclusion message was hidden if a text field was larger than 1 line. (#87)
  • Fixed a bug where the exclusion condition was not updated when a text was entered in text fields. (#83)
  • Fixed a bug where an array inside a dictionary did not store the entered value correct until you saved, closed and reopened the profile. (#82)
  • ...and many minor bug fixes.

Known Issues

  • When a profile is reopened by the application at launch, the application doesn't recognize that it's open and multiple copies of the same profile may be open at the same time.

  • When saving a profile for the first time, on rare occasions it might not save and won't be recognized after a restart.
    (Never found a way to replicate, only rare reports. If this happens to you, please contact me or file an issue.)

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.

ProfileCreator 0.2.3 (Beta 8)

26 Oct 11:10
Compare
Choose a tag to compare
Pre-release

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

New Features

Dark Mode

This release has implemented support for the new Dark Mode feature in macOS Mojave.

If you are using the default settings for code highlighting and background color, the app will switch to its dark equivalent when in Dark Mode.

Simpler manifest arrays

When creating manifests, if you want to define a simple array without collection values you are now only required to specify the type and nothing else.

Previously a key name was required for the payload key to be loaded.

Notarization

The application is now Notarized by Apple.

Updated Features

Payload Filter

When using the payload filter (search), the application now shows matches for the PayloadType value as well as the DisplayName of the payload.

New Preferences

Updated Preferences

  • Changed the default preference for PayloadManifestsAutomaticallyDownloadUpdates to true.
    This only applies when that setting was not previously set in the user's preference file.

New Payloads

  • com.apple.eas.account (iOS)
  • com.apple.systempolicy.managed (macOS)
  • com.apple.security.FDERecoveryKeyEscrow (macOS)
  • com.apple.security.FDERecoveryRedirect (macOS)

Updated Payloads

Configuration

  • PayloadIdentifier and PayloadUUID are now hidden by default as that created unnecessary confusion for people new to profiles.
    If you know you need to change those, they can be showed again from the settings by enabling "hidden" keys.

  • PayloadScope is now enabled by default as that is a setting that should be set for the profile and not just when exporting the profile.

com.apple.systempreferences

  • Changed scope to include User

com.apple.airprint

  • Added macOS as a supported platform.

com.apple.AssetCache.managed

  • Fixed incorrect titles and added segmented control for better structure.

com.apple.DirectoryService.managed

  • Renamed payload from Directory to Active Directory.

com.apple.domains

  • Added macOS as a supported platform for the EmailDomains key.

com.apple.screensaver

  • Added the key idleTime to the computer level screensaver payload.
  • Added the key moduleName to the computer level screensaver payload.

com.apple.ews.account

  • Added new keys for OAuth supported in macOS 10.14.

com.apple.loginwindow

  • Fixed incorrect boolean value for key SHOWFULLNAME.
  • Removed user scope as a valid export.

com.apple.systempreferences

  • Added the key HiddenPreferencePanes

com.apple.systempolicy.contro

  • Renamed from Policy Control: System to System Policy: Control

com.apple.TCC.configuration-profile-policy

  • Renamed from Policy Control: Privacy to Privacy Preferences Policy Control

com.apple.dock

  • Added the key static-apps. This key also supports drag and drop.
  • Added the key static-others. This key also supports drag and drop.

com.microsoft.Outlook

  • Added new keys for versions 16.18 and 16.19

Bug Fixes

  • Fixed a bug where boolean to integer conversion failed for certain payload key values.
  • Fixed a bug where you could not see or scroll to text that was outside the edge of the text field.
  • Fixed a bug where the UI would not always show the correct value for a range list that did not have custom titles set.
  • Now payloads that don't have an icon set will use a generic dotted square as the icon instead of empty space.
  • Now the "Show Hidden" setting also shows table view columns that were previously hidden.
  • ...and many minor bug fixes.

Known Issues

  • When a profile is reopened by the application at launch, the application doesn't recognize that it's open and multiple copies of the same profile may be open at the same time.

  • When saving a profile for the first time, on rare occasions it might not save and won't be recognized after a restart.
    (Never found a way to replicate, only rare reports. If this happens to you, please contact me or file an issue.)

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.
    Please report any bugs, feature requests or suggestions as an issue to this repository.

ProfileCreator 0.2.2 (Beta 7)

27 Sep 16:01
b4b1e1d
Compare
Choose a tag to compare
Pre-release

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

New Features

New Payload Library: Local Preferences (Experimental)

In the Payload library, there is now a new icon of an iMac symbolizing local preferences.

The preference domains that currently exist on your local Mac will be listed under this menu item but only preferences for items in the Applications folder will be shown by default. You can enable to show all preference domains in the settings under "Payloads.".

Those of you who have used the excellent mcxToProfile by @timsutton will recognize this feature.

The preferences are collected using the UserDefaults API for all domains that have a property list file in any of the following locations:

  • /Library/Preferences
  • ~/Library/Preferences
  • ~/Library/Preferences/ByHost

ProfileCreator will combine the settings for a domain from all locations into one manifest and present them in the general UI.

The description for each key describes where that setting was defined.

IMPORTANT: This feature is experimental and will continue to be improved in the coming betas.

Current limitations are:

* Multilevel nested Dictionaries or Array of Dictionaries does not display their contents correctly.
* Settings are only read on application launch.
* Application launch time is slower.
* .GlobalPreferences includes the preferences for ProfileCreator.
* Not all preferences are included, only those with a .plist file in any of the following locations:
    /Library/Preferences
    ~/Library/Preferences
    ~/Library/Preferences/ByHost

Change path for the profile library groups

You can now in the application Preferences under Library select a custom path to a folder where the application will store the profile group save files.

If the path is empty or invalid, the default path will be used instead.

Updated Features

Developer Menu

  • New item: Show Payload Manifest that will show a text representation of the current manifest.

Profile Importing

  • Importing profiles now ignores the following keys included by management applications:
    • Keys with prefix: ABT_ (LANrev)

New Preferences

Library

  • ProfileGroupLibraryPath
    The path to the folder where the profile group settings are saved.

Payloads

  • PayloadLibraryShowCustom
    Show the custom payloads created by the user (not available yet) or unknown payloads imported.

  • PayloadLibraryShowApplicationsFolderOnly
    Include only preferences for applications under /Applications in the Local Preferences view.
    If set to false, includes all preferences.

New Payloads

  • com.apple.FileVault2 (macOS)
  • com.apple.SubmitDiagInfo (macOS)
  • com.microsoft.autoupdate.fba (macOS)
  • com.microsoft.errorreporting (macOS)
  • com.microsoft.Excel (macOS)
  • com.microsoft.Office365ServiceV2 (macOS)
  • com.microsoft.OneDrive (macOS)
  • com.microsoft.OneDriveUpdater (macOS)
  • com.microsoft.onenote.mac (macOS)
  • com.microsoft.Powerpoint (macOS)
  • com.microsoft.Word (macOS)
  • com.skype.skype (macOS)
  • com.grahamgilbert.crypt (macOS)

Updated Payloads

ManagedInstalls (Munki)

  • Changed the SoftwareRepoURL key from required to enabled.

com.apple.applicationaccess (Restrictions)

  • Added the key allowDiagnosticSubmission

Bug Fixes

  • Fixed a bug where the general data imports (like scripts for LoginWindow) did not save the imported value.
  • Fixed a bug where pasting formatted text kept the formatting in the TextField. (#66)
  • Fixed a bug where entering integer values in certain fields returned an unexpected error (#67)
  • Fixed a bug where removing a custom imported payload from the profile did not "stick" after save. (#69)
  • Fixed a bug where converting between hex strings and data not showing the correct string in the UI.
  • Fixed a bug where dropping a .mobileconfig on the app icon didn't import the profile if there were any warnings.
  • Now payloads that don't have a configured icon will use a generic dotted square instead.
  • ...and many minor bug fixes.

Known Issues

  • When a profile is reopened by the application at launch, the application doesn't recognize that it's open and multiple copies of the same profile may be open at the same time.

  • When saving a profile for the first time, on rare occasions it might not save and won't be recognized after a restart.
    (Never found a way to replicate, only rare reports. If this happens to you, please contact me or file an issue.)

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.

ProfileCreator 0.2.1 (Beta 6)

07 Sep 14:26
b4b1e1d
Compare
Choose a tag to compare
Pre-release

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

Updated Features

New Signing Certificate selection

This version fixed a bug where a prompt to authenticate ProfileCreator for private key access to certain certificates was shown to some users.

The fix required another reference to the keychain item to be saved than in previous versions.

This means that if you have selected a signing certificate in previous versions you will only see a string of numbers. You will need to re-select that certificate to update the reference.

You can still export with the old reference in my testing, but it will not show as selected in the list of certificates.

New Signing Certificate search optioins

In the Preferences under Profile Defaults you can now expand the signing identity search to include:

  • System Keychain
  • Untrusted Certs
  • Expired Certs

New Features

Change path for the profile library

You can now in the application Preferences under Library select a custom path to a folder where the application will store the profile save files.

If the path is empty or invalid, the default path will be used instead.

New Preferences

Library

  • ProfileLibraryPath
    Path to the folder where the profile settings are saved.

Profile Defaults

  • SigningCertificateSearchSystemKeychain
    Include signing certificates from the System Keychain (default false)

  • SigningCertificateShowUntrusted
    Include signing certificates that are not considered trusted (default false)

  • SigningCertificateShowExpired
    Include signing certificates that have expired (default false)

New Payloads

  • com.apple.FileVault2 (macOS)
  • com.apple.SubmitDiagInfo (macOS)

Updated Payloads

ManagedInstalls (Munki)

  • Changed the SoftwareRepoURL key from required to enabled.

com.apple.applicationaccess (Restrictions)

  • Added the key allowDiagnosticSubmission

Bug Fixes

  • Fixed a bug where the export setting "Payload Content Style: XML" was never used even if selected.
  • ...and many minor bug fixes.

Known Issues

  • When saving a profile for the first time, on rare occasions it might not save and won't be recognized after a restart.
    (Never found a way to replicate, only rare reports. If this happens to you, please contact me or file an issue.)

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.

ProfileCreator 0.2.0 (Beta 5)

04 Sep 18:36
b4b1e1d
Compare
Choose a tag to compare
Pre-release

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

New Features

Import existing configuration profiles

This is the big feature of this release that makes it possible to import existing .mobileconfig files.

To make this possible, the entire save format and internal save/read data code was completely rewritten. The new system stores the profile information almost exactly as they would be in the exported profile whereas the previous system stored the settings in a flat dictionary for each keyPath for each subkey. That was both hard to read and hard to use in code.

The unfortunate effect of this change is that existing profiles created in ProfileCreator cannot be read by this version.

This is a one-time change and will not happen again as the format from now on will easily just upgrade between future formats, but this change requires manual action. That is also why this application is still in beta, as breaking changes might still occur.

If you have existing profiles and want to import them in this and future version of the application you need to do the following:

  1. Open ProfileCreator Beta 4 (Download it from here if you don't have it: Beta 4 Release)
  2. Export all profiles you wish to keep to .mobileconfig files.
  3. Open ProfileCreator Beta 5 and import the .mobileconfig files by either:
    • Drag and Drop on any group in the main window or in the profile list.
    • Drag and Drop on the Application icon in the Dock.
    • Select "Open…" from the File menu and select the . mobileconfig files you want to import.

Another big upside of this rework is to lay the groundwork for a very exciting feature where ProfileCreator can read/edit/upload profiles from selected MDMs who support those actions through their APIs.

Duplicate profiles

Now you can duplicate a profile in the profile list.

Select "Duplicate…" from the File menu or right-click a profile and select "Duplicate " from the context menu.

NOTE: The duplicated profile will generate new UUIDs and Identifiers for the root configuration and each payload with configured settings to avoid a collision if installed together.

New versioning system

In the future, each new release will increase the patch number of the application version instead of just updating the build number.

As an example, new releases will use this format: 0.1.4 build 1 instead of: 0.1 build 4

New icon for the documented Apple payloads.

A new icon that looks like the profiles icon in system preferences is added for the apple payloads library.

Updated Features

More signing identities

Now the signing certificate pop-up button shows all valid and trusted identity certificates.

Previously only certificates with the code signing extended attribute set were shown.

Drag and drop support for payload key values.

Added drag and drop support for the following payloads:

com.apple.dashboard (Dashboard)

  • Dashboard widget whitelist

Drag and drop icon for all payload types

The Drag and drop icon will now be shown on all CellViews that supports drag and drop, not just table views.

More clear message for sensitive data

The message shown for fields marked as sensitive has been updated to be more clear. Now it reads:

This value is stored in the clear in the profile, it is recommended that the profile be encrypted for the device if it's not delivered by an MDM.

Disable empty fields in export accessory view.

The profile Description and Organization text fields kept the enabled setting from the profile editor and exported an empty string if left empty.

To clean the profile they will now be disabled if their respective value is empty. They can still be enabled manually in the accessory view.

New Payloads

  • com.apple.com.apple.TCC.configuration-profile-policy (macOS)
  • com.apple.systempreferences (macOS)

Updated Payloads

com.apple.general/Configuration (General)

  • Renamed com.apple.general (which was a made up name) to Configuration.

com.apple.dashboard (Parental Controls: Dashboard)

  • Added missing dictionary declaration to the whiteList key.
  • Fixed the incorrect PayloadType for the payload.

com.apple.wifi (Wi-Fi)

  • Changed the EAP Setup Modes input from table view with pop-up buttons to checkboxes. (thanks @joncrain)

com.apple.security.scep (SCEP)

  • Changed the Subject input from table view to String. This expects a X.500 name string and the output is a very nested array structure.

com.apple.dock (Dock)

  • Added missing option AddDockMCXSharedFolder to the key MCXDockSpecialFolders.

com.apple.SetupAssistant.managed (SetupAssistant)

com.apple.NSExtension (Extension)

  • Changed the DeniedExtensionPoints input from table view with pop-up buttons to checkboxes.

Bug Fixes

  • Fixed bug where checkboxes that represents array values did not correctly remove values when unchecked if the value was anything other than an integer.
  • Signing certificate list is now sorted alphabetically.
  • ...and many minor bug fixes.

Known Issues

  • When saving a profile for the first time, on rare occasions it might not save and won't be recognized after a restart.
    (Never found a way to replicate, only rare reports. If this happens to you, please contact me or file an issue.)

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.