/ios-client-sdk

Primary LanguageSwiftApache License 2.0Apache-2.0

Jellyfish iOS Client

Jellyfish Client library for iOS apps written in Swift.

Components

The repository consists of 2 separapable components:

  • JellyfishClientSdk - Jellyfish client fully compatible with Jellyfish, responsible for exchaning media events and receiving media streams which then are presented to the user
  • JellyfishCLientDemo - Demo application utilizing Jellyfish client

Example App

Really simple App allowing to test Jellyfish client functionalities. It consist of 2 screens:

  • Joining screen where user passes peer token followed by join button click
  • Room's screen consisting of set of control buttons and an area where participants' videos get displayed

Documentation

API documentation is available here.

Installation

Add JellyfishClientSDK dependency to your project.

Developing

  1. Run ./scripts/init.sh in the main directory to install swift-format and release-it and set up git hooks
  2. Edit Debug.xcconfig to set backend url in development.
  3. Run release-it to release. Follow the prompts, it should update version in podspec, make a commit and tag and push the new version.

Contributing

We welcome contributions to iOS Client SDK. Please report any bugs or issues you find or feel free to make a pull request with your own bug fixes and/or features.

Jellyfish Ecosystem

Client SDKs React, React Native, iOs, Android
Server SDKs Elixir, Python, OpenAPI
Services Videoroom - an example videoconferencing app written in elixir
Dashboard - an internal tool used to showcase Jellyfish's capabilities
Resources Jellyfish Book - theory of the framework, Docs, Tutorials
Membrane Jellyfish is based on Membrane, Discord
Compositor Compositor - Membrane plugin to transform video
Protobufs If you want to use Jellyfish on your own, you can use our protobufs

Copyright and License

Copyright 2023, Software Mansion

Software Mansion

Licensed under the Apache License, Version 2.0