---
title: Don't Make These 4 Common Mistakes When Building Live Video Streaming Mobile Apps on iOS
description: Want to build live video streaming mobile apps on iOS? Learn more from the experts and don't make these 4 common mistakes.
image: https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/Dont-Make-These-4-Common-Mistakes-When-Building-Live-Video-Streaming-Mobile-Apps-on-iOS.png
---

[Skip to content](https://blog.webrtc.ventures/2019/03/dont-make-these-4-common-mistakes-when-building-live-video-streaming-mobile-apps-on-ios#main-content)

![WebRTC.ventures](https://blog.webrtc.ventures/hubfs/logo-main-light.svg)

- [WebRTC Services](https://webrtc.ventures/webrtc-development-services/)
  
  Show submenu for WebRTC Services 
  
    - [Assess](https://webrtc.ventures/services/assess/)
    - [Build](https://webrtc.ventures/services/build/)
    - [Integrate](https://webrtc.ventures/services/integrate/)
    - [Test](https://webrtc.ventures/services/test/)
    - [Manage](https://webrtc.ventures/services/manage/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
- Our Partners
  
  Show submenu for Our Partners 
  
    - [Amazon Chime SDK](https://webrtc.ventures/partners/amazon-chime-sdk/)
- Stories of Success
  
  Show submenu for Stories of Success 
  
    - [Remote Video Interpreting Platform with Agent Routing](https://webrtc.ventures/successes/remote-video-translation-platform/)
    - [WebRTC to SIP Gateway for ASL Interpreters](https://webrtc.ventures/successes/webrtc-to-sip-gateway-for-asl-interpreters/)
    - [Audio Listening Device to Improve Surgical Outcomes](https://webrtc.ventures/successes/audio-listening-device-to-improve-surgical-outcomes/)
    - [Albania’s First Telemedicine Platform](https://webrtc.ventures/successes/albanias-first-telemedicine-platform/)
    - [Automated Video Storytelling with the Amazon Chime SDK](https://webrtc.ventures/successes/automated-video-storytelling-with-the-amazon-chime-sdk/)
    - [Large Scale Video Conferencing](https://webrtc.ventures/successes/large-scale-video-conferencing/)
    - [Broadcasting and Webcast Control Room](https://webrtc.ventures/successes/live-video-broadcasting-and-webcast-control-room/)
- WebRTC Resources
  
  Show submenu for WebRTC Resources 
  
    - [WebRTC Live](https://webrtc.ventures/webrtc-live/)
    - [WebRTC Tips](https://www.youtube.com/playlist?list=PLayYqdnyegt3QvxX-Rt6wbFIK8727Z5Oz)
    - [WebRTC.ventures Blog](https://webrtc.ventures/blog/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
    - [WebRTC.ventures Training Program](https://webrtc.ventures/webrtc-ventures-training-program/)
- [About Us](https://webrtc.ventures/our-team/)
  
  Show submenu for About Us 
  
    - [Blog](https://webrtc.ventures/blog/)
    - [Our Team](https://webrtc.ventures/our-team/)
    - [Jobs](https://webrtc.ventures/jobs/)

Open main navigation

Close main navigation

- [WebRTC Services](https://webrtc.ventures/webrtc-development-services/)
  
  Show submenu for WebRTC Services 
  
    - [Assess](https://webrtc.ventures/services/assess/)
    - [Build](https://webrtc.ventures/services/build/)
    - [Integrate](https://webrtc.ventures/services/integrate/)
    - [Test](https://webrtc.ventures/services/test/)
    - [Manage](https://webrtc.ventures/services/manage/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
- Our Partners
  
  Show submenu for Our Partners 
  
    - [Amazon Chime SDK](https://webrtc.ventures/partners/amazon-chime-sdk/)
- Stories of Success
  
  Show submenu for Stories of Success 
  
    - [Remote Video Interpreting Platform with Agent Routing](https://webrtc.ventures/successes/remote-video-translation-platform/)
    - [WebRTC to SIP Gateway for ASL Interpreters](https://webrtc.ventures/successes/webrtc-to-sip-gateway-for-asl-interpreters/)
    - [Audio Listening Device to Improve Surgical Outcomes](https://webrtc.ventures/successes/audio-listening-device-to-improve-surgical-outcomes/)
    - [Albania’s First Telemedicine Platform](https://webrtc.ventures/successes/albanias-first-telemedicine-platform/)
    - [Automated Video Storytelling with the Amazon Chime SDK](https://webrtc.ventures/successes/automated-video-storytelling-with-the-amazon-chime-sdk/)
    - [Large Scale Video Conferencing](https://webrtc.ventures/successes/large-scale-video-conferencing/)
    - [Broadcasting and Webcast Control Room](https://webrtc.ventures/successes/live-video-broadcasting-and-webcast-control-room/)
- WebRTC Resources
  
  Show submenu for WebRTC Resources 
  
    - [WebRTC Live](https://webrtc.ventures/webrtc-live/)
    - [WebRTC Tips](https://www.youtube.com/playlist?list=PLayYqdnyegt3QvxX-Rt6wbFIK8727Z5Oz)
    - [WebRTC.ventures Blog](https://webrtc.ventures/blog/)
    - [Migrating From Twilio Video](https://webrtc.ventures/twilio-video/)
    - [WebRTC.ventures Training Program](https://webrtc.ventures/webrtc-ventures-training-program/)
- [About Us](https://webrtc.ventures/our-team/)
  
  Show submenu for About Us 
  
    - [Blog](https://webrtc.ventures/blog/)
    - [Our Team](https://webrtc.ventures/our-team/)
    - [Jobs](https://webrtc.ventures/jobs/)
- [Contact us](https://webrtc.ventures/contact/)

[Contact us](https://webrtc.ventures/contact/)

 Mar 5, 2019 12:00:00 AM

# Don't Make These 4 Common Mistakes When Building Live Video Streaming Mobile Apps on iOS

[Arnaud Phommasone](https://blog.webrtc.ventures/author/arnaud-phommasone)

Share: [linkedin-in icon](http://www.linkedin.com/shareArticle?mini=true&url=https://blog.webrtc.ventures/2019/03/dont-make-these-4-common-mistakes-when-building-live-video-streaming-mobile-apps-on-ios) [X Twitter icon](https://twitter.com/intent/tweet?url=https://blog.webrtc.ventures/2019/03/dont-make-these-4-common-mistakes-when-building-live-video-streaming-mobile-apps-on-ios) [envelope icon](mailto:?body=https://blog.webrtc.ventures/2019/03/dont-make-these-4-common-mistakes-when-building-live-video-streaming-mobile-apps-on-ios)

For the past few months we have developed an app focusing on interacting with contestants in live broadcasting, supporting thousands of subscribers and implementing a gamification/rewarding system. The game is juggling with different frameworks such as TokBox, Red5, AWS but also web socket (using BlueSocket from IBM for iOS) and written in Swift 4.  Today, I’m going to share with you different tips to keep in mind when developing live video streaming mobile apps on iOS.

### #1 Non-scalable architecture

Live video streaming is a sensitive matter and performance is key for these kinds of applications. For example, you want to minimize as much as possible the latency between the publisher and the subscriber if possible to under 2 seconds.

It’s important to carefully pick the server solution that could switch server and redistribute the audience to different nodes in order to avoid server overload. We decided to go with Red5 Pro as they provide a scalable solution and live support.

For realtime interacting with the publisher (up to 24 contestants), we chose to use web sockets and Tokbox.

Separating services based on the user role allows us to optimize bandwidth use on our different servers, save mobile device battery, and reduce the error introduced by overuse of services.

### #2 Not enough testing, pushing to edge case scenario

As developers, we tend to often use the simulator than real devices, and there are gesture events we could easily reproduce with a real iOS device than a simulator. Good for you if you never press the home button by mistake and realize you can still hear the app in the background, or worse the app crashes!

#### Here are few tests to strongly consider when building a live video streaming mobile app on iOS:

- If you are using many dependencies like we did, make sure those dependencies can work together. As video is heavily relying on AVFoundation, and probably they use a shared manager for controlling audio, video bitrate etc. there will be a strong possibility that one video framework will impact an another one. For example, keep an eye on the subscribed live stream and detect if there’s a pause when you start to publish a video feed from the iOS device.
- Track performances using the Instrument Tools coming with Xcode on a device, when you start to overload your app. Make sure that CPU use is not too high, and that the memory is not increasing overtime.
- Use the app and go to background. You’ll be surprised by the number of unexpected behaviors you could raise during your dev testing!
- Test your app with another app using audio such as iTunes, Spotify etc.
- Confirm that when you are publishing something from the iOS app, the server receives your video stream. It goes both ways!

By doing those tests, you will detect early on if a framework is suited based on your need, and maybe switch if needed early in the iOS development process. You’d have more time to optimize your mobile app and increase performance. Good performance means happy client!

### #3 Forgetting good / average and bad network conditions

Most of the framework are handling different network conditions, lowering the bitrate if needed. But what about your app? If the stream dropped during the game, what your app should do? And what if the live show goes back on? Those are the question you need to consider when developing those live streaming mobile apps on iOS.

When coding iOS app we tend to forget that the average user is using his phone everywhere, from the comfortable Wi-Fi to a subway. Feel free to overuse Reachability framework to detect network changes and adapt your UI accordingly.

### #4 Not aware of new releases / new devices.

Usually October is a critical month for every iOS developer. Why? Because usually after all the announcement at the WWDC, there’s new release of iOS, sometimes new devices. We started our development couple months before, and it happened that we had not tested enough our UI on iPhone X devices, and that we had to switch from Swift 3 to Swift 4. Communicate properly with your product owner, raise appropriate concerns and be ready for changes!

Those little tips are coming from our personal experience and can help anyone if you decide to jump into live video streaming mobile apps on iOS. There are a lot of different factors to think of, that we tend to forget naturally but don’t forget also that you are developing a fun app as well!

Safe coding!

## Want to leave it to the experts?

If you are ready to **chat about how you can incorporate live video streaming mobile apps on iOS into your business**? We have an experienced team ready & happy to help you out. [Contact us today](https://webrtc.ventures/contact/).

[CPaaS](https://blog.webrtc.ventures/tag/cpaas), [Managed Services](https://blog.webrtc.ventures/tag/managed-services), [Events](https://blog.webrtc.ventures/tag/events), [Video Conferencing](https://blog.webrtc.ventures/tag/video-conferencing), [Real Time Weekly](https://blog.webrtc.ventures/tag/real-time-weekly), [WebRTC Architecture](https://blog.webrtc.ventures/tag/webrtc-architecture), [Broadcasting](https://blog.webrtc.ventures/tag/broadcasting), [Medical](https://blog.webrtc.ventures/tag/medical), [WebRTC Live](https://blog.webrtc.ventures/tag/webrtc-live), [Showcase](https://blog.webrtc.ventures/tag/showcase), [Thoughts](https://blog.webrtc.ventures/tag/thoughts), [Vonage](https://blog.webrtc.ventures/tag/vonage), [Daily](https://blog.webrtc.ventures/tag/daily), [Jobs](https://blog.webrtc.ventures/tag/jobs), [Contact Centers](https://blog.webrtc.ventures/tag/contact-centers), [Telehealth](https://blog.webrtc.ventures/tag/telehealth), [Education](https://blog.webrtc.ventures/tag/education), [Technical](https://blog.webrtc.ventures/tag/technical), [General](https://blog.webrtc.ventures/tag/general), [Story of success](https://blog.webrtc.ventures/tag/story-of-success), [The WebRTC.ventures Blog](https://blog.webrtc.ventures/tag/the-webrtc-ventures-blog), [Testing](https://blog.webrtc.ventures/tag/testing), [Gaming](https://blog.webrtc.ventures/tag/gaming), [DevOps](https://blog.webrtc.ventures/tag/devops), [Symbl.ai](https://blog.webrtc.ventures/tag/symbl-ai)

## Related posts

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/canYouHearMeNow-.png?height=200&name=canYouHearMeNow-.png)](https://blog.webrtc.ventures/2017/10/can-you-hear-me-now-a-webrtc-audio-demo)

## [Can You Hear Me Now?... A WebRTC Audio Demo.](https://blog.webrtc.ventures/2017/10/can-you-hear-me-now-a-webrtc-audio-demo)

[Hector Zelaya](https://blog.webrtc.ventures/author/hector-zelaya) 

 Oct 31, 2017 12:00:00 AM

Interested in learning how to handle audio in WebRTC? Here is a a quick WebRTC audio demo, which...

[Read more](https://blog.webrtc.ventures/2017/10/can-you-hear-me-now-a-webrtc-audio-demo)

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/The-Road-to-WebRTC-20.jpg?height=200&name=The-Road-to-WebRTC-20.jpg)](https://blog.webrtc.ventures/2018/07/tutorial-build-video-conference-application-webrtc-2)

## [\[Tutorial\] How to Build a Video Conference Application with WebRTC](https://blog.webrtc.ventures/2018/07/tutorial-build-video-conference-application-webrtc-2)

[Hector Zelaya](https://blog.webrtc.ventures/author/hector-zelaya) 

 Jul 26, 2018 12:00:00 AM

In this blog post, we will provide a tutorial on how to build a video conference application using...

[Read more](https://blog.webrtc.ventures/2018/07/tutorial-build-video-conference-application-webrtc-2)

[![](https://blog.webrtc.ventures/hs-fs/hubfs/Imported_Blog_Media/meet3.png?height=200&name=meet3.png)](https://blog.webrtc.ventures/2019/04/get-your-video-conferencing-app-up-running-in-weeks-not-months)

## [Get Your Video Conferencing App Up & Running In Weeks, Not Months!](https://blog.webrtc.ventures/2019/04/get-your-video-conferencing-app-up-running-in-weeks-not-months)

[webrtc](https://blog.webrtc.ventures/author/webrtc) 

 Apr 9, 2019 12:00:00 AM

[Read more](https://blog.webrtc.ventures/2019/04/get-your-video-conferencing-app-up-running-in-weeks-not-months)

### WebRTC.Ventures Services

...

- Assess
- Build
- Integrate
- Test
- Deploy & Manage

### Contact Us

...

**Video should be an opportunity, not a headache.**   
 We’re here to build, integrate, assess and optimize, test, and even deploy and manage your live video application. 

[Contact us](https://blog.webrtc.ventures/2019/03/dont-make-these-4-common-mistakes-when-building-live-video-streaming-mobile-apps-on-ios#contact)

### WebRTC Live

...

 View [past episodes](https://blog.webrtc.ventures/webrtc-live/) of our webinar interview series about the latest webRTC use cases and technical updates. Join our mailing list to learn about upcoming episodes! 

![WebRTC Live](https://blog.webrtc.ventures/hs-fs/hubfs/Template%20Images/widged-bannet.webp?height=90&name=widged-bannet.webp)

![logo-main-light](https://blog.webrtc.ventures/hubfs/logo-main-light.svg "logo-main-light")

We’re one of the few agencies in the world dedicated to WebRTC development. This dedication and experience is why so many people trust us to help bring live video application dreams to life.

 

### Let's get started!

###### **[Contact us today](https://webrtc.ventures/contact/)**

**[info@webrtc.ventures](mailto:info@webrtc.ventures)**

<https://www.linkedin.com/company/webrtc-ventures> <https://www.youtube.com/@WebrtcVentures>

### Join our mailing list

We don't e-mail often (a few times a month max), and it will be worth it when we do! Of course, we respect your privacy and will not share your contact information.

© 2023 WebRTC.ventures, an [AgilityFeat](https://agilityfeat.com/) company / [Privacy Policy](https://webrtc.ventures/privacy-policy//)

```json
{
  "@context" : "https://schema.org",
  "@type" : "BlogPosting",
  "author" : {
    "@type" : "Person",
    "name" : "Arnaud Phommasone",
    "url" : "https://blog.webrtc.ventures/author/arnaud-phommasone"
  },
  "dateModified" : "2024-04-03T17:54:34.210Z",
  "datePublished" : "2019-03-05T05:00:00.000Z",
  "headline" : "Don't Make These 4 Common Mistakes When Building Live Video Streaming Mobile Apps on iOS",
  "image" : [ "https://blog.webrtc.ventures/hubfs/Imported_Blog_Media/Dont-Make-These-4-Common-Mistakes-When-Building-Live-Video-Streaming-Mobile-Apps-on-iOS.png" ],
  "mainEntityOfPage" : {
    "@id" : "https://blog.webrtc.ventures/2019/03/dont-make-these-4-common-mistakes-when-building-live-video-streaming-mobile-apps-on-ios",
    "@type" : "WebPage"
  },
  "publisher" : {
    "@type" : "Organization",
    "logo" : {
      "@type" : "ImageObject",
      "url" : "https://blog.webrtc.ventures/hubfs/logo-main-light.svg"
    }
  }
}
```