You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardexpand all lines: README.md
+24-6
Original file line number
Diff line number
Diff line change
@@ -2,15 +2,21 @@
2
2
App for taking pictures of trees and storing that on a remote server. Mainly used by people who plant trees so they don't have to manually type coordinates with pictures they took and then try to guess the site/species afterwards.
3
3
4
4
## Running the app from Xcode with Mock server
5
-
1. Make sure you have downloaded Xcode 12.2+
5
+
1. Make sure you have downloaded Xcode 13.4+
6
6
2. Open the project in Xcode (you'll notice the dependencies will start to fetch in the background).
7
7
(In the meantime, Xcode will need to fetch dependencies for the project... 😴)
8
-
3.You'll most likely need to change bundle identifier of the project. Basically because the project is set to auto-sign, each person that wants to run this on the device would need to update the bundle to be a unique id not registered before. E.g. from `com.protect.earth.Tree-Tracker`to `com.mynickname.Tree-Tracker`.
9
-
4.Make sure you are running `Tree Tracker (Mock server)` scheme and hit run!
10
-
5. When running on a device, you'll also need to trust the certificate in Settings -> General -> Profiles, otherwise you'll see an error after installing the build and before running it.
8
+
3.The signing settings for the project are configured for our CICD build pipeline, and will not allow you to build and run the app on your own device. To fix this, simply enable automatic signing in XCode and update the bundle identifier to something unique to you. This will update the .xcodeproj file accordingly. **NOTE**_Changes to signing settings must not be checked in, as these will break the automated builds._
9
+
4.Running the `Tree Tracker` scheme will use the main Airtable base you [configure in your secrets file](#config) and will make inserts to your base tables. Running the `Tree Tracker (Mock server` scheme will use hard-coded mock API responses and will not touch Airtable.
10
+
5. When running on a device, you'll also need to trust the certificate in _Settings -> General -> Profiles_, otherwise you'll see an error after installing the build and before running it.
11
11
12
12
## Using your own Airtable/Cloudinary server
13
-
Well, this is a bit complicated but still doable.
13
+
Well, this is a bit complicated but still doable.
14
+
Sign up for a free [Airtable](https://www.airtable.com) account, as you will need to provide the details of *2* Airtable bases - one
15
+
to support the execution of integration tests, and one for the app to use when in normal usage.
16
+
17
+
For development purposes, the 2 bases
18
+
can actually be the same. If you are doing this, it is recommended to create two sets of tables in the same base, and use a prefix on
19
+
the table name. This can then be specified in the `TEST_AIRTABLE_TABLE_NAME_PREFIX` secret (see [later](#config)).
14
20
15
21
### Airtable tables
16
22
Our current API type expects that you have 4 tables:
@@ -49,7 +55,15 @@ Because Airtable doesn't support uploading images yet, we have to use an externa
49
55
2. Now create an [upload preset](https://cloudinary.com/console/settings/upload) (this will give you the Upload Preset name).
50
56
3. Keep the keys as you'd need to add them to Secrets.xcconfig later on.
51
57
52
-
### Additional project config
58
+
## Rollbar
59
+
We use [Rollbar](https://www.rollbar.com) for centralised logging of errors, to help us troubleshoot issues with the app during real world usage.
60
+
If you wish, you can sign up for a free Rollbar account, generate your own API token and provide it through `ROLLBAR_AUTH_TOKEN` to see telemetry
61
+
in Rollbar during development. This can be useful if you are specifically adding telemetry features, but otherwise is probably more complex than
62
+
just looking at the logs in XCode console.
63
+
64
+
If you choose not to setup Rollbar, simply add a dummy value for `ROLLBAR_AUTH_TOKEN` and any Rollbar calls will silently fail.
65
+
66
+
## Additional project config {#config}
53
67
Now, to run the project, we'll need to generate Secrets file. This means you need to run first install [`pouch`](https://github.com/sunshinejr/pouch) (the easiest is using `brew install sunshinejr/formulae/pouch`). Now, you need to have these environment variables available. Have this at the end of the file (bash: most likely in `.bash_profile` or `.bashrc`, zsh: most likely `.zshenv` or `.zshrc`):
0 commit comments