Skip to content

OSX: Binary Notarization Workflow

Primož Godec edited this page Apr 5, 2024 · 2 revisions
Notarization steps

Requirements:

  • Have a Developer ID certificate in your keychain
  • Have Xcode installed (only command line tools are not enough)
  • Find Orange apple ID and APP-SPECIFIC-PASSWORD in our 1Password manager. And TEAM-ID in the developer account under Membership details.

Run:

xcrun notarytool submit --apple-id "<Orange apple ID>" --password "<APP-SPECIFIC-PASSWORD>" --team-id "<TEAM-ID>" </Path/to/orange.dmg>

Output example

...
Successfully uploaded file.
id: 7a5a575b-fe56-48bc-a0e2-f66f49428f74
...

This will upload .dmg and return ID, which you can use to request the status of the notarization process.

xcrun notarytool info --apple-id "<Orange apple ID>" --password "<APP-SPECIFIC-PASSWORD>" --team-id "<TEAM-ID>" <ID>

Output example

Successfully received submission info
  createdDate: 2024-04-05T17:14:37.902Z
  id: <ID>
  name: <dmg-name>
  status: In Progress

This can take a couple of minutes. When the process is finished and everything is OK, you will see a status change to "success".

Also, if the notarization steps were successful, we should get an email from Apple:

Dear Orange,

Your Mac software has been notarized. You can now export this software and distribute it directly to users.

Bundle Identifier: si.biolab.orange
Request Identifier: <RequestUUID>

For details on exporting a notarized app, visit Xcode Help or the notarization guide. 
Best Regards,

Apple Developer Relations

Finally, we have to staple the .dmg at the end of the log produced by this, you should see a The staple and validate action worked! at the end.

xcrun stapler staple -v  </Path/to/orange.dmg>

And that's it.