Apple Xcode Notarize
ActionsTags
(2)This action notarizes macOS applications or plug-ins. It does this by submitting your built .app
(or non-app bundle) to Apple's notarization service. It will poll the notarization service until it times out of receives a success response.
Notarization is a complicated process, but the gist of it is this: if you want to distribute your macOS application outside of the Mac App Store, you need to Sign and Notarize your application. This Action only needs two inputs for that: the
product-path
that points your application and your AppStore Connect credentials withappstore-connect-username
/appstore-connect-password
. (This need to be an App Specific Password as regular accounts require 2FA)
- name: "Notarize Release Build"
uses: BoundfoxStudios/action-xcode-notarize@v1
with:
product-path: "Export/YourApp.app"
appstore-connect-username: ${{ secrets.NOTARIZATION_USERNAME }}
appstore-connect-password: ${{ secrets.NOTARIZATION_PASSWORD }}
Note that notarization is not the final step. After Apple has notarized your application, you also want to staple a notarization ticket to your product. This can be done with the Xcode Staple action.
The BoundfoxStudios/community-project project is an example Unity macOS project with a notarization.yml workflow that shows all the steps needed to go from creating a release in GitHub to ending up with a .zip
file that contains a signed and notarized application.
- Xcode Notarize - Notarize a macOS product.
- Xcode Staple - Staple a Notarization Ticket to your product.
- Xcode Select - Select a Xcode version.
This Action is licensed under the MIT license. Contributions are very much welcome and encouraged but we would like to ask to file an issue before submitting pull requests.
Apple Xcode Notarize is not certified by GitHub. It is provided by a third-party and is governed by separate terms of service, privacy policy, and support documentation.