Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
michaeltout authored Dec 19, 2022
1 parent 75c18c7 commit 99a2f5c
Showing 1 changed file with 50 additions and 0 deletions.
50 changes: 50 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -31,3 +31,53 @@ The Verus Mobile application uses the following permissions for the following re
# Disclaimer

THIS IS EXPERIMENTAL SOFTWARE AND IT IS PROVIDED "AS IS" AND ANY EXPRESSED OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

# Build Instructions

## iOS (on macOS)

0. Clone the GitHub repository and cd into it with a terminal window

1. Install Xcode and the Xcode command line build tools (version >= 14.0.1)

2. Install homebrew (version >= 3.6.14)

3. Install cocoapods (version >= 1.11.3)

4. Install node (version >= 16.14.1)

5. Install yarn (version >= 1.22.19)

6. Install rbenv to manage your ruby versions with `brew install rbenv ruby-build`

7. Run `rbenv init`, `rbenv install 2.7.5` and `rbenv global 2.7.5`

8. Run `yarn install`

9. Run `cd ios && pod install`, then if successful, `cd ..`

10. Setup a rust development environment by installing sourcery with `brew install sourcery`, `curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh`, `cargo install cargo-lipo`, and installing rustup

11. Run `rustup target add aarch64-apple-ios x86_64-apple-ios`

12. open in ios/verusmobile.xcworkspace in Xcode (DO NOT OPEN THE XCODEPROJ FILE)

13. Run `yarn bundle-ios`

14. Under Pods > Targets > ZcashLightClientKit > Build Settings, set "ZCASH_NETWORK_ENVIRONMENT" to "MAINNET"

15. Under Pods > Targets > react-native-verus-light-client-kit > Compile Sources, remove every file that contains "test" in its name, there should be a total of 24 files remaining

16. Run `yarn start` in a terminal window within the Verus-Mobile directory

17. Build the project in Xcode

### Troubleshooting

#### Build error containing "Permission Denied"

If Xcode fails to build with an error mentioning "permission denied", try setting user permissions on iOS/Pods/ZcashLightClientKit/ZcashLightClientKit/zcashlc/zcashlc.h to read/write and re-building through Xcode

#### Failure to compile using `cargo lipo --manifest-path`

If Xcode fails to compile the Rust component correctly, you will get an error stating that a command starting with `cargo lipo --manifest-path` failed to execute. Try copying that command in its entirety and running it in a local terminal window. If that succeeds, rebuild through Xcode.

0 comments on commit 99a2f5c

Please sign in to comment.