From 7a57dcc08a62306577d25076034a599dc7777a60 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sa=C3=BAl=20Ibarra=20Corretg=C3=A9?= Date: Tue, 31 Jan 2017 14:46:31 +0100 Subject: [PATCH] doc: add documentation on how to build the mobile apps --- README.md | 7 ++-- doc/mobile.md | 94 +++++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 99 insertions(+), 2 deletions(-) create mode 100644 doc/mobile.md diff --git a/README.md b/README.md index ec52ff42a..a5fa3eba4 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -Jitsi Meet - Secure, Simple and Scalable Video Conferences -==== +# Jitsi Meet - Secure, Simple and Scalable Video Conferences Jitsi Meet is an open-source (Apache) WebRTC JavaScript application that uses [Jitsi Videobridge](https://jitsi.org/videobridge) to provide high quality, scalable video conferences. You can see [Jitsi Meet in action](http://youtu.be/7vFUVClsNh0) here at the session #482 of the VoIP Users Conference. You can also try it out yourself at https://meet.jit.si . @@ -82,6 +81,10 @@ npm unlink lib-jitsi-meet npm install ``` +## Mobile app +Jitsi Meet is also available as a React Native application for Android and iOS. +Instructions on how to build it can be found [here](doc/mobile.md). + ## Discuss Please use the [Jitsi dev mailing list](http://lists.jitsi.org/pipermail/dev/) to discuss feature requests before opening an issue on Github. diff --git a/doc/mobile.md b/doc/mobile.md new file mode 100644 index 000000000..112375904 --- /dev/null +++ b/doc/mobile.md @@ -0,0 +1,94 @@ +# Jitsi Meet mobile apps + +Jitsi Meet can also be built as a standalone mobile application for +iOS and Android. It uses the [React Native]() framework. + +First make sure the [React Native dependencies]() are installed. + +**NOTE**: This document assumes the app is being built on a macOS system. + +**NOTE**: The app must be built for an actual device since the simulators don't +work properly with the native plugins we require. + + +## iOS + +1. Install some extra dependencies + + - Install ios-deploy globally (in case you want to use the React Native CLI + to deploy the app to the device) + + ```bash + npm install -g ios-deploy + ``` + +2. Build the app + + There are 2 ways to build the app: using the CLI or using Xcode. + + Using the CLI: + + ```bash + react-native run-ios --device + ``` + + When the app is launched from the CLI the output can be checked with the + following command: + + ```bash + react-native log-ios + ``` + + Using Xcode + + - Open **ios/jitsi-meet-react.xcworkspace** in Xcode. Make sure it's the + workspace file! + + - Select your device from the top bar and hit the "play" button. + + When the app is launched from Xcode the Debug console will show the output + logs the application creates. + + +3. Other remarks + + It's likely you'll need to change the bundle ID for deploying to a device + because the default bundle ID points to the application signed by Atlassian. + + This can be changed in the "General" tab. Under "Identity" set + "Bundle Identifier" to a different value, and adjust the "Team" in the + "Signing" section to match your own. + + +## Android + +The [React Native dependencies]() page has very detailed information on how to +setup [Android Studio]() and the required components for getting the necessary +build environment. Make sure you follow it closely. + +1. Building the app + + The app can be built using the CLI utility as follows: + + ```bash + react-native run-android + ``` + + It will be launched on the connected Android device. + + +## Debugging + +The official documentation on [debugging]() is quite extensive, it is the +preferred method for debugging. + +**NOTE**: When using Chrome Developer Tools for debugging the JavaScript code +is being interpreted by Chrome's V8 engine, instead of JSCore which +React Native uses. It's important to keep this in mind due to potential +differences in supported JavaScript features. + + +[Android Studio]: https://developer.android.com/studio/index.html +[debugging]: https://facebook.github.io/react-native/docs/debugging.html +[React Native]: https://facebook.github.io/react-native/ +[React Native dependencies]: https://facebook.github.io/react-native/docs/getting-started.html#installing-dependencies