Skip to content

Archive, sign and notarize the app

Simone Martorelli edited this page Apr 18, 2021 · 7 revisions

In order to distribute the app you need to:

  • Change the app bundle identifier;
  • Archive it;
  • Sign it;
  • Send it to the Apple notarization service;
  • Staple notarization ticket to the app;
  • Export it for distribution.

The process has been made really easy and fast from Apple using Xcode.
Let's see in detail how it looks like.

What you need?

  • Apple ID enrolled in your company's Apple Developer Enterprise Program;
  • Latest Xcode (available on the App Store);
  • Your team Developer ID Application certificate installed in you Keychain.

The steps

  1. The first mandatory task is to change the bundle app bundle Identifier. A bundle ID or bundle identifier uniquely identifies an application in Apple's ecosystem. This means that no two applications can have the same bundle identifier. This also means that your custom version of the Mac@IBM Notifications app needs a new bundle ID. The bundle ID format that we suggest is: com...mac-notification-agent
    Read more about bundle identifiers.
  2. Once you're ready to distribute the app the first thing to do is to Archive it: go on "Product" -> "Archive"
  3. It will take a while but at the end you'll se the Organiser window with the archives list for your app. Select the latest one and then hit "Distribute App"
  4. Chose Developer ID
  5. Chose Upload
  6. If you added some capabilities that requires a custom provisioning profile please select it and then hit "Next"
  7. Hit "Upload" and wait until it finish
  8. At the end of the upload you'll see something like this if everything went well:
  9. Now it's time to wait until the Apple notarisation service doesn't do all the needed checks. At the end of this process the archive in the organiser should present the "Ready to distribute" status
  10. Last hit "Export Notarized App" to save the signed and notarised app locally. It is now ready to be distributed!

Apple documentation about Sign and Notarization of macOS App