- If you need to downgrade, you can follow [these instructions](https://stackoverflow.com/questions/14756026/how-to-downgrade-xcode-to-previous-version/14756127#14756127)
- This app is using Swift 3 which is not compatible with the latest Xcode. You can track [`#42`](https://gitlab.com/gitlab-org/gitter/gitter-ios-app/issues/42) for upgrading to Swift 4
- You can also just run the downloaded Xcode 10 from any folder and open the
workspace from there. *note:* You must open the workspace, so that the
1. Clone and setup the [`webapp`](https://gitlab.com/gitlab-org/gitter/webapp) project
- At a very minimum, `npm install`. You don't necessarily need to run the webapp locally and can skip the Docker stuff
1. In the [`webapp`](https://gitlab.com/gitlab-org/gitter/webapp) project, run `npm run build-ios-assets`
1. In the [`webapp`](https://gitlab.com/gitlab-org/gitter/webapp) project, run `stats__cube__enabled=false stats__statsd__enabled=false NODE_ENV=prod npm run build-ios-assets` (requires node 10, not later)
1. Symlink the webapp embedded build asset output to the iOS project
1. Make a copy of `Gitter/GitterSecrets-Dev.plist.example` named `Gitter/GitterSecrets-Dev.plist` and follow the comment instructions inside
- You may also need to manually add this to the bundle. In the Xcode navigator tab on the left, open up the `Gitter` folder, right-click on the `Supporting Files` folder, `Add files to "Gitter"...`, and select the secret plist file, https://i.imgur.com/GGJ1Uu3.png
1. Update submodules after clone: `git submodule update --init --recursive`
1. Download the pods: `pod install`
1. Open in Xcode: `open Gitter.xcworkspace`
...
...
@@ -43,11 +37,22 @@ In `Edit Scheme...` > `Arguments` > `Arguments Passed On Launch` add the followi
1. If you need to sign in, update your OAuth secrets in `Gitter/GitterSecrets-Dev.plist` with something from your local instance
## Developer and debugging notes
If you are running into any issues, try `Product -> Clean` in Xcode
### Cocoapods
The app uses some cocoapods. These should not need touching in general as a copy
of the code and project files is included in the repo. Just remember to open the
`Gitter.xcworkspace`, **not** the `Gitter.xcproject`.
To update the pods to latest versions matching our version constraints, install
cocoapods (`sudo gem install cocoapods`) and run `pod update`.
If you're having build issues due to missing dependencies, you migth want to run
`pod install` and commit the changes to `Podfile`, `Podfile.lock` and `Pods/`