DEV Community

ColtonIdle
ColtonIdle

Posted on â€ĸ Edited on

How to sign and notarize a macOS app with Conveyor

Pre-reqs

  1. Go to ~/Library/Preferences/Hydraulic/Conveyor/ Inside of that folder there will be apple.csr

Source: https://conveyor.hydraulic.dev/17.0/running/#initial-setup-and-default-config

  1. Go to https://developer.apple.com/account/resources/certificates/add and click "Developer ID Application". The page will now show you two different certs. It seems like an "older" cert format is auto-selected, but the new one works and has a longer expiration.

Image description

  1. Apple will give you a .cer. Place it somewhere (I just put it in my Conveyor Prefs directory)

  2. Now you need an api key to use apple's notarization service. Go to https://appstoreconnect.apple.com/access/integrations/api and create it with the "Developer" role.

Source: https://conveyor.hydraulic.dev/17.0/configs/keys-and-certificates/#configure-apple-notarization

Your final defaults.conf:

# Your private root key, from which all other generated keys are deterministically derived.
app.signing-key = "keyring"

# Credentials needed for the macOS app approval process.
 app.mac.notarization {
   issuer-id = abc-123-123-123-ABC123
   key-id = ABC123123
   private-key = /Users/cidle/Library/Preferences/Hydraulic/Conveyor/AuthKey_ABC123.p8
 }

app.mac.certificate = /Users/cidle/Library/Preferences/Hydraulic/Conveyor/cert_from_apple.cer
Enter fullscreen mode Exit fullscreen mode

Note: Even though the docs make it seem like you might need app.mac.signing-key, you do not.

Note 2: app.mac.certificate can be a relative path (to the defaults.conf) it doesn't have to be absolute

Playwright CLI Flags Tutorial

5 Playwright CLI Flags That Will Transform Your Testing Workflow

  • --last-failed: Zero in on just the tests that failed in your previous run
  • --only-changed: Test only the spec files you've modified in git
  • --repeat-each: Run tests multiple times to catch flaky behavior before it reaches production
  • --forbid-only: Prevent accidental test.only commits from breaking your CI pipeline
  • --ui --headed --workers 1: Debug visually with browser windows and sequential test execution

Learn how these powerful command-line options can save you time, strengthen your test suite, and streamline your Playwright testing experience. Practical examples included!

Watch Video 📹ī¸

Top comments (0)

A Workflow Copilot. Tailored to You.

Pieces.app image

Our desktop app, with its intelligent copilot, streamlines coding by generating snippets, extracting code from screenshots, and accelerating problem-solving.

Read the docs

👋 Kindness is contagious

If you found this post helpful, consider showing some love with a ❤ī¸ or leaving a kind comment!

That sounds great!