From 390ac858dcddf0518aaf8796cf487f82bb306655 Mon Sep 17 00:00:00 2001 From: Ibrahem Khalil <33176106+ibrkhalil@users.noreply.github.com> Date: Wed, 5 Oct 2022 15:39:28 +0200 Subject: [PATCH] Update starting guide doc (#14107) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Update starting guide doc * Fix bad placement of tut * formatting and style fixes Signed-off-by: Jakub Sokołowski * add adb link Signed-off-by: Jakub Sokołowski Co-authored-by: Jakub Sokołowski --- doc/STARTING_GUIDE.md | 33 +++++++++++++++++++++++++++++---- 1 file changed, 29 insertions(+), 4 deletions(-) diff --git a/doc/STARTING_GUIDE.md b/doc/STARTING_GUIDE.md index 9ecad53950..99f157a659 100644 --- a/doc/STARTING_GUIDE.md +++ b/doc/STARTING_GUIDE.md @@ -14,14 +14,25 @@ This step will take a while the first time as it will download all dependencies. There are three steps necessary to start development, in this case for Android: -1. `make run-clojure` - Compiles Clojure into JavaScript, watches for changes on cljs files, and hot-reloads code in the app -2. `make run-metro` - Starts metro bundler and watches JavaScript code -3. `make run-android` - Builds the Android app and starts it on the device +1. `make run-clojure` - Compiles Clojure into JavaScript, watches for changes on cljs files, and hot-reloads code in the app. +2. `make run-metro` - Starts metro bundler and watches JavaScript code. +3. `make run-android` or `make run-ios` - Builds the Android/iOS app and starts it on the device. The first two will continue watching for changes and keep re-building the app. They need to be ready first. The last one will exit once the app is up and ready. -You need to have your emulator or real devices running and visible to adb, before you run `make run-android`. +## Simulators and Devices +### Android + +You need to have an emulator like [AVD](https://developer.android.com/studio/run/emulator), or [Genymotion](#genymotion-virtualization), or a real device running and visible to [adb](https://developer.android.com/studio/command-line/adb), before you run `make run-android`. + +### iOS + +You can specify the simulator type by adding the `SIMULATOR` flag: +```sh +make run-ios SIMULATOR="iPhone 11 Pro" +``` +Some manual steps are necesary for [developing on a physical iOS Device](#physical-ios-device). # Build release @@ -71,3 +82,17 @@ Steps: 2. [Setup Git to use your GPG key](https://help.github.com/en/github/authenticating-to-github/telling-git-about-your-signing-key) 3. [Setup Git to sign commits](https://help.github.com/en/github/authenticating-to-github/signing-commits) 4. [Setup GitHub to validate commits](https://help.github.com/en/github/authenticating-to-github/adding-a-new-gpg-key-to-your-github-account) + +## Physical iOS Device + +To use a physical iPhone your device UDID must be added to provisioning profiles and your Apple account invited as Developer to Status team. + +1. [Get your UDID of your iPhone.](https://www.extentia.com/post/finding-the-udid-of-an-ios-device) +2. Request from someone with access like @cammellos or @jakubgs to + - Add the UDID to development devices on Apple Developer Portal. + - Invite your Apple account to be Developer in Status team. +3. Run a build in XCode using the project from `status-mobile/ios` directory. + - You might see error: `Select a development team in the Signing & Capabilities editor` + - Select `STATUS HOLDINGS PTE. LTD.` as the development team and rebuild again. + +Once build finishes Status should start on your iPhone with its logs in terminal running `make run-metro`.