Skip to content

Commit

Permalink
updated readme
Browse files Browse the repository at this point in the history
  • Loading branch information
EddieCameron committed Jul 17, 2020
1 parent 57b8473 commit fca2884
Showing 1 changed file with 24 additions and 8 deletions.
32 changes: 24 additions & 8 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
# app-notarizer
===============
Notarizes OSX apps built outside of Xcode, and optionally packages them into .dmgs for easy distribution.

## About
Expand All @@ -25,44 +24,61 @@ 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
```

#### 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 "[email protected]" \
--pwd "1234-abcd-5678-efgh" \
--provider BillGates12345678 \
--entitlements "~/MyApp/MyFancyEntitlements.entitlements" \
--background "VeryGoodBackground.png" \
--dmg-name "MyApp" \
"~/MyApp/ThisFolderContainsAllMyAppFiles"
```

## Options
```sh
Expand Down

0 comments on commit fca2884

Please sign in to comment.