The following instructions apply to the mobile apps for iOS and Android built in React Native. Download the iOS version here and the Android version here. Source code can be found at the GitHub Mattermost Mobile app repository.
If you run into any issues getting your environment set up, check the Troubleshooting section of the product docs for common solutions.
The following instructions apply to both iOS and Android mobile apps. On macOS, we recommend using Homebrew as a package manager.
We recommend using NodeJS v18 and npm v8. Many of our team use nvm to manage npm and NodeJS versions.
To install NVM using Homebrew, open a terminal and execute:
brew install nvm
To install NodeJS v18 LTS using NVM, open a new terminal and execute:
nvm install --lts=hydrogen
There are three available options for installing NodeJS on Linux:
Watchman is a file watching program. When a file changes, Watchman triggers an action, such as re-running a build command if a source file has changed.
The minimum required version of Watchman is 4.9.0.
To install Watchman using Homebrew, open a terminal and execute:
brew install watchman
Download the latest package from here.
react-native-cli
tools npm -g install react-native-cli
To install Git using Homebrew, open a terminal and execute:
brew install git
git
.
Install Xcode to build and run the app on iOS. The minimum required version is 11.0.
cocoapods
point, then stop.sudo xcode-select --switch /Applications/Xcode.app
mattermost-mobile/ios
directory and run:
sudo arch -x86_64 gem install ffi
sudo gem install cocoapods
arch -x86_64 pod install
Download and install the Android Studio app or the Android SDK command line tools
Make sure you have the following environment variables configured for your platform:
ANDROID_HOME
to where Android SDK is located (likely /Users/<username>/Library/Android/sdk
or /home/<username>/Android/Sdk
)PATH
includes ANDROID_HOME/tools
and ANDROID_HOME/platform-tools
On Mac, this usually requires adding the following lines to your ~/.bash_profile
file:
export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$ANDROID_HOME/emulator:$ANDROID_HOME/platform-tools:$ANDROID_HOME/tools:$PATH
Then reload your bash configuration:
source ~/.bash_profile
On Linux the home folder is located under /home/<username>
which results in a slightly different path:
export ANDROID_HOME=/home/<username>/Android/Sdk
export PATH=$ANDROID_HOME/platform-tools:$PATH
export PATH=$ANDROID_HOME/tools:$PATH
Then reload your configuration
source ~/.bash_profile
In the SDK Manager using Android Studio or the Android SDK command line tool, ensure the following are installed:
SDK Tools (you may have to select Show Package Details to expand packages):
SDK Platforms (you may have to select Show Package Details to expand packages)
In order to develop and build the Mattermost mobile apps, you’ll need to get a copy of the source code. Forking the mattermost-mobile
repository will also make it easy to contribute your work back to the project in the future.
Fork the mattermost-mobile repository on GitHub.
Clone your fork locally:
a. Open a terminal
b. Change to a directory you want to hold your local copy
c. Run git clone https://github.com/<username>/mattermost-mobile.git
if you want to use HTTPS, or git clone git@github.com:<username>/mattermost-mobile.git
if you want to use SSH
Change the directory to mattermost-mobile
.
cd mattermost-mobile
Install the project dependencies with npm install