Pre-release

@erikberglund erikberglund released this Sep 4, 2018

Assets 3

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.