Skip to content

Command line utility to notarize apple application

License

Notifications You must be signed in to change notification settings

phimage/Notarize

Repository files navigation

notarize

Build Status Swift 5.1 Contributors Forks Stargazers Issues MIT License Become a Patron! Buy me a coffee

A tool to notarize your .app files.

Could also get notarization information in different format than xcrun altool like JSON.

What notarize could do for you?

  • 📦 Zip the app - using ditto
  • ⬆️ Upload it to apple service - using xcrun altool
  • ⏳ Wait for final notarization result - by polling on xcrun altool
  • 🧷 Staple your app. - using xcrun stapler

Install

Using sources

git clone https://github.com/phimage/Notarize.git
cd Notarize
make install

Xcode must be installed

Usage

You can see all description by notarize help

$ notarize help
Available commands:

help       Display general or command-specific help
history    Show history
info       Show information
notarize   Notarize (default command)
version    Display the current version of notarize

Notarize command

$ notarize --app Your/App.app --username "me" --password "keychain@dummy"

team id

$ notarize --app Your/App.app --username "me" --password "keychain@dummy" --ascProvider "MYTEAMID"

History command

$ notarize history --username "me" --password "keychain@dummy"

Info command

$ notarize info --uuid a1b2c3d4e5f6 --username "me" --password "keychain@dummy"

Use a reporter in any command

$ notarize info --uuid a1b2c3d4e5f6 --username "me" --password "keychain@dummy" --reporter xml
$ notarize info --uuid a1b2c3d4e5f6 --username "me" --password "keychain@dummy" --reporter json

Configuration

You can configure notarize by adding a .notarize.yml file in your working directory

key description
username The username.
password The password.
ascProvider The asc provider
reporter How to display information: json, xml
username: "me"
password: "keychain@dummy"
reporter: "json"

You can also use this configuration file with --config

$ notarize --app Your/App.app --config "path/to/.notarize.yml`"

Dependencies

Show graph online

Contributing

Fork and make PR

TODO

  • allow to skip some step (like staple, or wait)
  • with an option like verbose, show log for each step
  • other output format ie. reporter
  • maybe save app name and path with notarization uuid to have further information when getting history or info