{"id":19731393,"url":"https://github.com/clpsplug/notarization-scripts","last_synced_at":"2026-06-05T21:31:56.156Z","repository":{"id":87856605,"uuid":"297267764","full_name":"Clpsplug/notarization-scripts","owner":"Clpsplug","description":"Scripts to send your app to Apple's notarization system","archived":false,"fork":false,"pushed_at":"2020-09-21T07:53:40.000Z","size":11,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-01-10T17:53:41.299Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/Clpsplug.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-09-21T07:53:22.000Z","updated_at":"2020-09-21T07:53:44.000Z","dependencies_parsed_at":null,"dependency_job_id":"b3293d88-4264-4f61-9396-deac931e83a6","html_url":"https://github.com/Clpsplug/notarization-scripts","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fnotarization-scripts","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fnotarization-scripts/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fnotarization-scripts/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/Clpsplug%2Fnotarization-scripts/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/Clpsplug","download_url":"https://codeload.github.com/Clpsplug/notarization-scripts/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241056368,"owners_count":19901770,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-11-12T00:20:46.598Z","updated_at":"2025-02-27T20:26:13.807Z","avatar_url":"https://github.com/Clpsplug.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# notarization-scripts\nShell scripts to send your App to the notarization service provided by Apple.  \nOptimized for Unity games, but should be able to use it for other apps.\n\n# Disclaimer\n\nThese scripts are what I used to notarize my Unity app and just decided for anybody else to use.  \nAlthough these scripts do have some the protections against potential damages, **it is never complete.**  \nHence, **please double- and triple- check the values** before running ANY of those scripts!!!!\n\n# Prerequisites\n\n* Mac that can run macOS Catalina (10.15) or later.\n* macOS 10.15 or later.\n* Xcode 11.0\n* An internet connection\n* Apple ID\n* Apple Developer Account, and\n* Paid Apple Developer membership\n* Have agreed to all the contract at App Store Connect, and all lamps are green in the 'Contracts' section.\n* Installed [`trash`](https://hasseg.org/trash/) command, which you can obtain through homebrew.\n\n# Before using these scripts...\n\nMake sure you have those:\n* Your unsigned app\n* An .entitlements file. It's strongly suggested to make it with Xcode - creating one from text editor is known to cause issues.\n\n# Usage\n\n1. First, edit the `config.sh` file and fill all the variables but `PROVIDERSHORTNAME`.  \n  Set the variables according to the comments. Description below.  \n  `PROVIDERSHORTNAME` can be left blank if unknown.  \n1. Run `store_credential.sh`.  \n  This will trigger a keychain access command so that you can provide your password securely.  \n  **This will also give you `$PROVIDERSHORTNAME`. Save it!**\n1. Edit `config.sh` file again to include `PROVIDERSHORTNAME`.\n1. Run `sign_and_notarize.sh`.  \n  This will sign your app including the library it contains.\n1. Finally, run `stapling.sh`.  \n  This will staple the app and verify its integrity.  \n  You can now find your app in `stapled_product` directory.\n\n# Descriptions for available variables\n\n## MUST set\n\n### BINARY_RAW\n\nThis is your app to sign, including `.app` extension. This will be left untouched, but will be copied as `$BINARY_SIGNED` (described below.)\n\n**Relative path**, or even, **the app that exist in the same directory as the scripts**, is strongly recommended to prevent unwanted deletion of the files.\n\n### BINARY_SIGNED\n\nWhat filename do you want for the signed app? Include `.app` extension.\n\n### BUNDLE_ID\nBundle ID for your app. You've set this when you built your app.  \nThe initial value is intentionally left invalid (contains `_`!)\n\n### ENTITLEMENTS\nPath for your entitlements file. Used to sign your binary as well as included libraries.\n\n### APPLE_ID\nYour apple id (most of the time, the email address.)  \nIf you have created an extra apple ID for notarization purposes, which is recommended, use that instead.\n\n### SIGNCERT\nThe name of your **Developer ID Application certificate. NOT the app store one!**  \nIf unknown, search for it in the Keychain Access app.  \nIt probably starts with \"Developer ID Application:\" without quotes, so try searching with it.  \nIt should also contain your provider short name, which will be needed below.\n\n### PROVIDERSHORTNAME\nShort name for the provider (probably an alphanumeric string.)  \nDon't worry if you don't know when you first edit the configuration. You get this when you run store_credential.sh.   \nIf you forget it, you can run `xcrun altool --list-providers -u $APPLE_ID -p \"@keychain:${KEYCHAIN_ITEM_ID}\".`\n\n## CAN set\n### KEYCHAIN_ITEM_ID=\"AC_PASSWORD\"\nYou can change this, but you don't really need to. This is just a key used to save your password in your keychain.  \n\n### ZIP_NAME=\"send_for_notarization.zip\"\nNo need to change it, but you CAN change it to make it more comprehensible. It appears in the result in the notarization report.\n\n# Reference\n\n* [How to notarize a Unity build for macOs 10.15 Catalina](https://gist.github.com/dpid/270bdb6c1011fe07211edf431b2d0fe4) - A complete guide for notarizations by dpid.\n* [Delivering Unity macOS build to Steam and AppStore](https://yemi.me/2020/02/17/en/submit-unity-macos-build-to-steam-appstore/)\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclpsplug%2Fnotarization-scripts","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fclpsplug%2Fnotarization-scripts","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fclpsplug%2Fnotarization-scripts/lists"}