Agora Flat iOS

Project flat is the iOS client of Agora Flat open source classroom.



  • Open sourced front-end and back-end
    • [Flat Web][flat-web]
    • Flat Desktop ([Windows][flat-homepage] and [macOS][flat-homepage])
    • [Flat Android][flat-android]
    • [Flat Server][flat-server]
  • Optimized teaching experience
    • Big class
    • Small class
    • One on one
  • Real-time interaction
    • Multifunctional interactive whiteboard
    • Real-time video/audio chat(RTC)
    • Real-time messaging(RTM)
    • Participant hand raising
  • Login via
    • Wechat
    • GitHub
    • Google
  • Classroom management
    • Join and create classrooms
    • Support periodic rooms
    • schedule classrooms
    • View room history
  • Cloud Storage for multi-media courseware
  • Screen sharing


Flat is written entirely in swift.


iOS Deployment Target Xcode Version Swift Language Version
12.0 13.0 Swift 5


  1. Install CocoaPods.
  2. Go to the Flat directory in terminal and execute pod install.

Configure Signing

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


  1. In Xcode use the Scheme menu to select the Flat-DEV scheme.

  2. Run ⌘R the app.


This project is only for learning and communication use, please comply with the laws and

regulations of the host country, do not use it in the field of politics, religion, pornography,

crime, etc., all illegal consequences please bear.


Copyright © Agora Corporation. All rights reserved.

Licensed under the MIT license.

When using the Flat or other GitHub logos, be sure to follow the GitHub logo guidelines.


View Github