Skip to content

How to rebrand the app

Simone Martorelli edited this page Nov 27, 2025 · 12 revisions

1. [Mandatory] Changing the application name and bundle identifier

  1. To change application name open the project in Xcode, in Project Navigator select "migrator" and double click on the target name (nr. 1 on picture above).
  2. Then change bundle identifier (nr. 2 on picture above). Do not just leave the default bundle ID and do not use, in any case, com.ibm.* bundle IDs.

2. [Mandatory] Changing org name reference in AppContext.swift class

This is the organisation/team name used in some of the app dialogs. Customise it replacing <Organization Name> string with you org/team name. For example static let orgName: String = "Mac@IBM".
Also Available as Custom Settings deployable through a Configuration Profile.

3. [Mandatory] Changing service name reference in AppContext.swift class

This is the name of the service advertised by bonjour. Customise it replacing <Service Identifier> string with something like _migrator_ibm. We suggest to include your company name in it. Do not add spaces or special characters except _.
Also Available as Custom Settings deployable through a Configuration Profile.

Remember to modify it als in the Info.plist file (leave the .tcp suffix).

4. [Mandatory] Changing application icons

There are two kinds of icons in this application. App icons - used as an application icons by macOS, and icon used as an icon on the different pages.
To change the App Icon, in Project Navigator select and right click folder Shared/Resources -> Assets.xcassets. Choose option Show in Finder as per screenshot below

Inside Finder you will see all the icons used by the app.

  1. To change app icon, replace all PNG files inside AppIcon.appiconset folder, with your custom icon files. The file names and resolution must be exactly same as the original files. For example file [email protected] must be named [email protected] and must have resolution 32x32 pixels.
  1. To change the default pop-up icon, in Project Navigator select Notification Agent Popups -> Assets.xcassets, select icon asset and replace the file inside with a simple drag and drop of the new one. For best result we recommend using a .pdf file.

5. Copyright

Update your copyright notice in the Info.plist file.

6. Runtime Customization via Configuration Profile (Alternative Approach)

In addition to the compile-time customizations above, many branding elements can now be configured at runtime using a configuration profile. This approach allows you to:

  • Update branding without recompiling the app
  • Use different branding for different device groups
  • Quickly adjust branding elements as needed

Customizable Elements via Configuration Profile:

Organization Name Instead of hardcoding in AppContext.swift, deploy via the orgName key in a configuration profile.

Custom Page Icons Instead of replacing assets in the app bundle, you can specify custom icons for each page:

  • welcomePageIcon
  • browserPageIcon
  • serverPageIcon
  • codeVerificationPageIcon
  • setupPageIcon
  • recapPageIcon
  • migrationPageIcon
  • jamfReconPageIcon
  • rebootPageIcon
  • finalPageIcon

Icons can be:

  • Remote URLs (e.g., https://cdn.company.com/icon.png)
  • Local files in the app bundle (e.g., custom-icon.pdf)
  • Base64 encoded image data

Legal Documents Configure URLs for:

  • Terms & Conditions (termsConditionsURL)
  • Privacy Policy (privacyPolicyURL)
  • Third Party Notices (thirdPartyNotices)

These can point to web pages or PDF files included in the app bundle.

For complete details on all available configuration options, see the App Custom Settings guide.

Note: Runtime customization is ideal for organizations that want flexibility without maintaining multiple app builds. However, for maximum branding consistency, compile-time customization (steps 1-4 above) is still recommended for core elements like the app icon and bundle identifier.