Skip to content

Developing iOS apps

stefanalund edited this page Oct 26, 2014 · 20 revisions

This page shows how to get started developing iOS apps using OpenWebRTC. There are basically 2 different kinds of apps:

  • Native - Low-level apps that use the OpenWebRTC C API.
  • Hybrid - Apps that use a combination of native code (Objective-C or Swift) and HTML/JavaScript running in web views.

If you are developing a pure web app for Bowser, or have an existing WebRTC web app that you want to run in Bowser, please go to the Developing for Bowser page.

The remainder of this page will focus on native and hybrid app development.

#Step 1. Building OpenWebRTC Before you can add OpenWebRTC to your Xcode project, you need to build it.

#Step 2. Adding OpenWebRTC to your project ##2.1 Adding framework dependencies The following Frameworks needs to be added to your project:

  • CoreMedia.framework
  • AssetsLibrary.framework
  • AudioToolbox.framework
  • AVFoundation.framework
  • CoreAudio.framework
  • CoreGraphics.framework
  • CoreVideo.framework
  • JavaScriptCore.framework
  • QuartzCore.framework
  • GLKit.framework
  • VideoToolbox.framework

Apart from the Frameworks you need to also add the following dynamic libs:

  • libiconv.dylib
  • libresolv.dylib
  • libc++.dylib

This is easiest done by going to Build Phases and clicking the +: Adding frameworks

##2.2 Only 32-bit architecture OpenWebRTC currently only supports 32-bit iOS apps. You therefore need to remove armv7s and arm64 and change Architectures to $(ARCHS_STANDARD_32_BIT): Architectures

##2.3 Adding OpenWebRTC Open your openwebrtc folder and drag the out and openwebrtc-deps-armv7-ios folders in to your project:

Drag owr

##2.4 Fixing paths ####1. Change "Header Search Paths" to:

  • $(SRCROOT)/../../../openwebrtc/openwebrtc-deps-armv7-ios/include (recursive)
  • $(SRCROOT)/../../../openwebrtc/out/arm-apple-darwin10/include (recursive)

Note. The relative path (/../../../) may vary depending on where your openwebrtc folder is.

Fixing paths

####2. Change "Library Search Paths" to:

  • $(SRCROOT)/../../../openwebrtc/openwebrtc-deps-armv7-ios/lib (recursive)
  • $(SRCROOT)/../../../openwebrtc/out/arm-apple-darwin10/lib (recursive)

Done. Now you should have everything in place, try building the project.

Step 3. Native or Hybrid?

Clone this wiki locally