diff --git a/README.md b/README.md index 2c173b1..20d0724 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ # app-notarizer -=============== Notarizes OSX apps built outside of Xcode, and optionally packages them into .dmgs for easy distribution. ## About @@ -25,16 +24,21 @@ Optionally, it can also package the .app along with any other files in the same #### Credentials app-notarizer needs to be given credentials to your Apple developer account the first time you run it. It stores them in `~/.app-notarizer.conf` so you don't have to keep looking them up. You need to provide these options: + - Developer ID certificate (--cert) + This is what the build is code signed against. Make sure you have a "Developer ID Certificate" on your developer account, and install it to your mac. You need its full name, which can be found in Keychain Access under certificates, eg: "Developer ID Application: YourName (xxxxxxxxx)" - Password (--pwd) + You need to generate an app specific password for the tool to get access to your developer account. Create at https://appleid.apple.com under 'Security'. - Username (--username) + Your Apple ID - Provider shortname (--provider) + This is generally your apple team id, but if that doesn't work, you'll need your 'Provider Short Name', which can be found by running ```sh xcrun iTMSTransporter -m provider -u YourAppleIDUsername -p apps-peci-ficp-word @@ -42,27 +46,39 @@ xcrun iTMSTransporter -m provider -u YourAppleIDUsername -p apps-peci-ficp-word #### Notarization Options - Entitlements (--entitlements) -By default, the tool uses a bare bones entitlements file to support a minimal Unity3d Mono build (with entitlements `disable-library-validation`, and `disable-executable-page-protection`). If you need more (or less), you can provide a path to your own entitlements file, in the standard format https://developer.apple.com/documentation/bundleresources/entitlements + By default, the tool uses a bare bones entitlements file to support a minimal Unity3d Mono build (with entitlements `disable-library-validation`, and `disable-executable-page-protection`). If you need more (or less), you can provide a path to your own entitlements file, in the standard format https://developer.apple.com/documentation/bundleresources/entitlements - Replacement Mono library (--replace-mono-lib) -This is a hack to allow notarization of older Unity mono builds, which include a mono library that is built against a too-old version of OSX. This lets you provide a path to a replacement, working, mono framework. If you aren't making a unity 5.x app, you don't need to worry about this. If you are, read this: https://asmaloney.com/2020/03/howto/notarizing-older-unity-games-on-macos/ + This is a hack to allow notarization of older Unity mono builds, which include a mono library that is built against a too-old version of OSX. This lets you provide a path to a replacement, working, mono framework. If you aren't making a unity 5.x app, you don't need to worry about this. If you are, read this: https://asmaloney.com/2020/03/howto/notarizing-older-unity-games-on-macos/ #### DMG options If you plan to distribute your app as a DMG, it must also be notarized. Add the (--make-dmg) flag to make a basic "Drag to applications folder" DMG, with the following options: - DMG name (--dmg-name) -The name of the output dmg file (without .dmg). Defaults to the same as the .app if not provided + The name of the output dmg file (without .dmg). Defaults to the same as the .app if not provided - Window size (--window) -The width and height of the dmg window when mounted + The width and height of the dmg window when mounted - Background (--background) -Path to an image to show as the background to the mounted dmg in finder. Defaults to a rather handsome arrow + Path to an image to show as the background to the mounted dmg in finder. Defaults to a rather handsome arrow - App icon position (--icon-position) -X and Y position of the .app's icon in the DMG. Defaults to the left hand side of the handsome arrow + X and Y position of the .app's icon in the DMG. Defaults to the left hand side of the handsome arrow - Application shortcut position (--app-drop-link) -X and Y position of the shortcut to the /Applications folder in the dmg. Defaults to the, oh yes, the right side of the handsome arrow + X and Y position of the shortcut to the /Applications folder in the dmg. Defaults to the, oh yes, the right side of the handsome arrow + +## Example +```sh +app-notarizer --cert "Developer ID Application: My Name (CODECODE)" \ + --username "bill@billgates.biz" \ + --pwd "1234-abcd-5678-efgh" \ + --provider BillGates12345678 \ + --entitlements "~/MyApp/MyFancyEntitlements.entitlements" \ + --background "VeryGoodBackground.png" \ + --dmg-name "MyApp" \ + "~/MyApp/ThisFolderContainsAllMyAppFiles" +``` ## Options ```sh