Giter VIP home page Giter VIP logo

twilio-video-app-ios's Introduction

Twilio Video iOS App

This app is a sample video conferencing app that uses the Twilio Programmable Video SDK. The open source app can be easily configured by developers to try out real-time video and audio features. Converting Objective-C code to Swift is in progress.

video-app-screenshots

Features

  • Video conferencing with real-time video and audio
  • Enable/disable camera
  • Mute/unmute mic
  • Switch between front and back camera
  • Dominant speaker indicator
  • Network quality indicator

Requirements

iOS Deployment Target Xcode Version Swift Language Version
11.0 11.3 Swift 5

Getting Started

Deploy Twilio Access Token Server

The app requires a back-end to generate Twilio access tokens. Follow the instructions below to deploy a serverless back-end using Twilio Functions.

  1. Install Twilio CLI.
  2. Run twilio plugins:install @twilio-labs/plugin-rtc.
  3. Run twilio rtc:apps:video:deploy --authentication passcode.
  4. The passcode that is output will be used later to sign in to the app.

The passcode will expire after one week. To generate a new passcode:

  1. Run twilio rtc:apps:video:delete.
  2. Run twilio rtc:apps:video:deploy --authentication passcode.

Install Dependencies

  1. Install CocoaPods.
  2. Run pod install.

Configure Signing

  1. Open VideoApp.xcworkspace with Xcode.
  2. In Xcode navigate to the Signing & Capabilities pane of the project editor for the Video-Community target.
  3. Change Team to your team.
  4. Change Bundle identifier to something unique.

Run

  1. In Xcode use the Scheme menu to select the Video-Community scheme.
  2. In Xcode use the Scheme menu to select a destination. Cameras do not work in the simulator so select a device for best results.
  3. Run ⌘R the app.

The Video-Twilio and Video-Internal schemes use authentication that is only available to Twilio employees in order to make internal testing easier.

Start Video Conference

For each device:

  1. Run the app.
  2. Enter any unique name in the Your name field.
  3. Enter the passcode from Deploy Twilio Access Token Server in the Passcode field.
  4. Tap Sign in.
  5. Enter a room name.
  6. Tap Join.

The passcode will expire after one week. Follow the steps below to sign in with a new passcode.

  1. Generate a new passcode.
  2. In the app tap Settings > Sign Out.
  3. Repeat the steps above.

Tests

Unit Tests

For unit tests use:

UI Tests

UI tests require credentials that are only available to Twilio employees.

Known Issues

  1. Running tests ⌘U will crash if the app was run ⌘R on the device previously. See issue #12 for a workaround and more details.

Related

For Twilions

Twilio employees should follow these instructions for internal testing.

License

Apache 2.0 license. See the LICENSE file for details.

twilio-video-app-ios's People

Contributors

timrozum avatar aymenn avatar paynerc avatar

Stargazers

Husnain Ali avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.