1.5 KiB
layout, title, parent, grand_parent, nav_order
| layout | title | parent | grand_parent | nav_order |
|---|---|---|---|---|
| default | Mobile App Development | Development | Miscellaneous | 9 |
React Native Expo
MacOS:
Install watchman
brew install watchman
Run iOS on Simulator:
npx expo run:ios
Install OpenJDK for Android dev:
brew install openjdk@17
# Add to path
sudo ln -sfn /opt/homebrew/opt/openjdk@17/libexec/openjdk.jdk /Library/Java/JavaVirtualMachines/openjdk-17.jdk
# Test if Java works on CLI
java --version
Make sure NDK is installed:
- Open Android Studio.
- Go to:
Preferences > Appearance & Behavior > System Settings > Android SDK > SDK Tools tab. - Check NDK (Side by side).
- Click Apply or OK to install it.
If getting node errors in Android studio, close and re-open Android Studio from CLI via:
open -a "Android Studio"
Unit tests
TODO: improve documentation further.
The iOS project contains unit tests that test the VaultStore native Swift implementation. The VaultStore logic is responsible for handling vault encryption/decryption, contains the SQLite client and acts as a proxy for all local queries etc.
In order to test this query logic behavior the tests contain a static encrypted client vault (SQLite database) that is provided to the tests.
This static encrypted database can be (re)generated by running the src/Tests/AliasVault.E2ETests/Tests/Extensions/TestVaultGeneratorTests.cs in the .NET solution. This E2E test generates a deterministic vault and saves it to a local temporary file. This file can then be used as the input for these unittests.