- Notifications
You must be signed in to change notification settings - Fork2
Commandline Utility to Sign and Notarize OS-X Application
License
BestSolution-at/mac-codesigner
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
Commandline utility to not going insane when codesigning and notarizing application for Apple Devices.
This utility allows to:
- Codesign your applications
- Package as DMG
- Package as PKG
- Notarize the DMG and PKG
- Staple DMG and PKG artifact
To print all available commandline options
./mac-codesigner-1.0.0-SNAPSHOT-runner -h
Example:
./mac-codesigner-1.0.0-SNAPSHOT-runner --app-path=/path/to/my/Sample.app \ --developer-certificate-key=1111111111111111 \ --with-dmg \ --with-pkg \ --installer-certificate-key=1111111111 \ --pkg-identifier=my.application.identifier.pkg \ --entitlements=/path/to/entitlements.plist \ --with-notarization \ --notarization-primary-bundle-id=my.application.id \ --notarization-username=john@doe.com \ --notarization-password="johndoe-secret" --with-staple- Make sure you have xcode command line utilities installed
sudo xcode-select --install
- Create an "App-Specific password for altool"Apple Instructions -Use Safari - Firefox nor Chrome worked for me
- Name it
Developer-altool - Save the password created we you need to pass it to as the
--notarization-password
- Name it
- Create 2 certificates atApple Developer
Developer ID ApplicationDeveloper ID Installer
- Add them to your "KeyChain Access" Application
There are other utilities which helped me implement this or provided useful information. One could arguethat I suffer from the NIH-Syndrom but I found it interesting to get something done with Quarkus and GraalVM to createa native binary so for me it was more of a research project teaching about this tech-stack.
Similar utilities:
Sites / Articles I found useful while implementing this:
The application can be packaged using:
./mvnw package
It produces thequarkus-run.jar file in thetarget/quarkus-app/ directory.Be aware that it’s not anüber-jar as the dependencies are copied into thetarget/quarkus-app/lib/ directory.
You can create a native executable using:
./mvnw package -Pnative
Or, if you don't have GraalVM installed, you can run the native executable build in a container using:
./mvnw package -Pnative -Dquarkus.native.container-build=true
You can then execute your native executable with:./target/mac-codesigner-1.0.0-SNAPSHOT-runner
If you want to learn more about building native executables, please consulthttps://quarkus.io/guides/maven-tooling.html.
About
Commandline Utility to Sign and Notarize OS-X Application
Resources
License
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
