Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/Mortennn/Notarize
CLI to easily notarize a Mac app
https://github.com/Mortennn/Notarize
automation buildsystem cli macos notarize
Last synced: 4 days ago
JSON representation
CLI to easily notarize a Mac app
- Host: GitHub
- URL: https://github.com/Mortennn/Notarize
- Owner: Mortennn
- License: mit
- Created: 2019-02-03T21:49:42.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2022-12-29T00:29:46.000Z (almost 2 years ago)
- Last Synced: 2024-11-05T20:34:42.395Z (4 days ago)
- Topics: automation, buildsystem, cli, macos, notarize
- Language: Swift
- Homepage:
- Size: 17.6 KB
- Stars: 56
- Watchers: 5
- Forks: 6
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
Notarize
Command line tool to easily notarize a Mac app
Apple recently added a new service where they will check and approve an app to not execute malcious code. It is a great security improvement, but the downside is that this adds a new step in the build system.This project is created to make it easy to automate this process.
## Installation
1. Download the [latest release](https://github.com/Mortennn/Notarize/releases/latest)
2. Run the install script: `$ ./install.sh`## Usage
### Example
```
$ notarize \
--package "~/path/to/app.dmg" \
--username "[email protected]" \
--password "@keychain:AC_PASSWORD" \
--primary-bundle-id "com.company.appname.dmg"
```### Description
```
$ notarize --helpCopyright (c) 2019, Morten Nielsen.
Version: Notarize 1.0.0 NotarizeKit 1.0.0
Usage: --package --username --password --primary-bundle-id
Options:
--package Path to either DMG or zip file.
--username Email associated with Apple Connect.
--password Password for Apple Connect. Can be plain text, but it is recommended to use "@keychain:".
--primary-bundle-id Bundle id of package. e.g. "com.company.appName.dmg".
--asc-provider Specify asc provider.--help Display options.
```
## What does it actually do?
1. Uses `$ xcrun altool` to upload the app package to Apple's servers.
2. Waits for the app to be notarized. Checks every 30 seconds.
3. Staples the app package with the generated certificate using `$ xcrun stapler staple `## FAQ
* Notarize says the package is invalid?
* Notarize will print a UUID, which you can use to see the error log from Apple. The error log can be seen using `$ xcrun altool --notarization-info`## License
MIT © [Morten Nielsen](https://github.com/Mortennn)