|
5 | 5 | It is built with investigative reporting as its primary use case and utilizes the [Follow the Money](https://github.com/alephdata/followthemoney) data model, which seeks to provide a common language to describe the entities most commonly used in investigative reporting. |
6 | 6 |
|
7 | 7 | To get started, download the latest release [here](https://github.com/alephdata/visdesktop/releases). |
| 8 | + |
| 9 | + |
| 10 | +### Packaging the app |
| 11 | + |
| 12 | +In order to package the app locally run the following: |
| 13 | +``` |
| 14 | +make install |
| 15 | +npm run build |
| 16 | +``` |
| 17 | +When the build is completed you should see a list of executables in the /dist directory. |
| 18 | + |
| 19 | + |
| 20 | +### Notarizing the app |
| 21 | + |
| 22 | +If you have not distributed a release with the Developer ID you plan to use, it is required to notarize the app first. If not, users will see a warning message when they attempt to open the downloaded app. From Apple: "Beginning in macOS 10.14.5, all new or updated kernel extensions and all software from developers new to distributing with Developer ID must be notarized in order to run." |
| 23 | + |
| 24 | +Prerequisites: |
| 25 | +- an env file with the following: |
| 26 | + - APPLE_ID: a valid Apple Id |
| 27 | + - APPLE_APP_PASSWORD: an Apple app specific password (See https://support.apple.com/en-gb/HT204397) |
| 28 | + |
| 29 | +Steps: |
| 30 | +1. Add the following afterSign hook to the build config in package.json. This will call the notarize script during the build process |
| 31 | +``` |
| 32 | +"build": { |
| 33 | + ... |
| 34 | + "afterSign": "scripts/notarize.js", |
| 35 | +``` |
| 36 | +2. Follow the above steps to package the app |
| 37 | +3. If notarization is successful, you will receive a confirmation email and see the notarization confirmation message in the terminal |
| 38 | + |
| 39 | +Useful resources: |
| 40 | +https://medium.com/@TwitterArchiveEraser/notarize-electron-apps-7a5f988406db |
| 41 | +https://kilianvalkhof.com/2019/electron/notarizing-your-electron-application/ |
| 42 | + |
| 43 | + |
| 44 | +### Distributing the app |
| 45 | +In order to distribute a new release of the app do the following. |
| 46 | + |
| 47 | +Prerequisites: |
| 48 | +- notarization of the app (see above) |
| 49 | +- a Developer ID Application certificate in your Keychain |
| 50 | + - download an existing certificate from: https://developer.apple.com/account/resources/certificates/list or create a new one using xCode |
| 51 | + - add the certificate to your Keychain |
| 52 | + |
| 53 | +Steps: |
| 54 | +1. Run ```make release-{major|minor|patch}```. This will draft a new tagged release with the bumped version number and upload the relevant files to Github |
| 55 | +2. You should see the newly drafted release in the Releases section of the repo. Edit as needed and publish to make the new release available for download. |
0 commit comments