Download and install GoCoder SDK for iOS

Download and install Wowza GoCoder™ SDK for iOS, set up your Xcode development environment, and start using the sample apps.

Requirements for Wowza GoCoder SDK for iOS


Developing apps with Wowza GoCoder SDK for iOS requires Xcode 10.2 or later.

Playing and broadcasting video from GoCoder SDK apps requires a device running iOS 11 or later.

Running and debugging apps that use the GoCoder SDK using a device emulator isn't recommended due to the wide variance in functionality between the software-based audio and video codecs used by the emulator and the hardware-based codecs installed on most devices.

Download and install the tools


  1. Download and install the current version of Xcode. If you already have Xcode installed, check for updates to make sure you're running the current version.
  2. Request a free license for Wowza GoCoder SDK for iOS.
Note: Wowza GoCoder SDK for iOS and Wowza GoCoder SDK for Android require separate (free) licenses. If you have a license for Wowza GoCoder SDK for Android, complete the license-request form a second time using an iOS bundle identifier to get a license for Wowza GoCoder SDK for iOS.
  1. Download the latest build of Wowza GoCoder SDK for iOS.
  2. Expand the downloaded .zip file, which contains the following files and folders:
/docs

The SDK API reference documentation in HTML format. Open index.html in this folder to view the documentation locally.

/ModuleGoCoderSDKSample

Sample code that demonstrates integration between Wowza Streaming Engine™ media server software and the SDK.

/sample-apps

A set of Xcode projects that demonstrate many of the SDK's capabilities.

/wowzagocoder_static_lib

A static library version of the GoCoder SDK library for Objective-C applications.

WowzaGoCoderSDK.framework

A dynamic framework version of the GoCoder SDK library that supports both Objective-C and Swift-based application development.

Note: Using WowzaGoCoderSDK.framework is recommended over wowzagocoder_static_lib.

Configure an Xcode project to use the Wowza GoCoder SDK


To develop iOS apps with the GoCoder SDK, you must configure an Xcode project to recognize the GoCoder SDK framework and add the SDK umbrella header to the  project's source files.

  1. In Xcode, create a project. See Create an app project.
  2. With the project selected in the navigator area of the Xcode main window, click the File menu and choose Add Files to [project name].
  3. Navigate to and select WowzaGoCoderSDK.framework in the expanded .zip that you downloaded.
  4. Under Destination, select Copy items if needed.
  5. Under Add to targets, select your project.
  6. Click Add.
  7. In the editor area of the main window, under the General tab, scroll down to Embedded Binaries and click the + (add) button.
  8. Select WowzaGoCoderSDK.framework, and then click Add.

    Finally, add an umbrella statement to your project's .h or .swift source files so they can reference GoCoder SDK classes. 
  9. In the navigator area, locate your project's AppDelegate and ViewController .h or .swift files.
  10. Copy one of the following statements into the top of the files, below the commented-out copyright information:

Objective-C

#import <WowzaGoCoderSDK/WowzaGoCoderSDK.h>

Swift

import WowzaGoCoderSDK

Remove inactive code from the project


The Wowza GoCoder SDK framework contains both ARM and x86 code, which allows you to use it on a device or in the simulator. If you intend to submit your app to the Apple App Store, run the following script to strip the inactive code from the binary.

  1. In the editor area of the project's main window, click Build Phases.
  2. Click the + (add) button in the upper-left corner of the Build Phases editor.

Xcode adds a Run Script build phase to the list.

  1. Expand the Run Script build phase and paste the following into the script editor field:
bash "${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/WowzaGoCoderSDK.framework/strip-frameworks.sh"

Practice with the SDK sample apps


To learn more about what you can do with the GoCoder SDK, build and run any of the Xcode projects listed below. These projects are included in the SDK sample-apps folder. Building with the iOS sample apps requires a license for the iOS SDK. If you have a license for the Android SDK, complete the license-request form a second time using an iOS bundle identifier to get a license for Wowza GoCoder SDK for iOS.

To use the sample app projects:

  1. Update the bundle identifier in the Xcode project to the one you entered to get your GoCoder SDK license. If you don't have the bundle identifier, you can find it listed as the App ID in the "Your Wowza GoCoder SDK License" email.
  2. Replace the SDKSampleAppLicenseKey value (for example GOSK-8145-010C-2722-98D0-227C) with your license key as needed in the project files. The license key can appear in more than one file in a project. All instances of the license key need to be replaced with your license key.
Notes:
  • An Xcode workspace called AllSampleApps.xcworkspace includes the sample projects.
  • The relevant GoCoder-related sources (.h and .m or .swift files) are listed first in the Project navigator.
App Description
All-in-OneSampleApp.objc.xcodeproj An Objective-C application that demonstrates all of the individual Objective-C sample applications listed here in one application. This application also includes the following:
  • A feature that demonstrates how to display a bitmap as an overlay on the camera preview.
  • An example of how to get the bitrate during a broadcast. See the "Stream live video and audio" feature.
  • Additional capabilities not available in any of the individual Objective-C sample apps.
LiveStreamSampleApp.swift.xcodeproj A Swift application that demonstrates how to use the SDK to capture and broadcast video using the device's internal cameras. The Settings screen in the app allows you to modify various video, audio, capture, and broadcast settings. This app also includes a bitmap overlay feature.
MetaDataSampleApp.xcodeproj An Objective-C application that demonstrates how to use the GoCoder SDK to send a data event (onGetPingTime) to a Wowza Streaming Engine server module that is created and configured to receive the event.
PlayerSampleApp.objc.xcodeproj An Objective-C application that demonstrates how to use the SDK to play a live stream, including an ultra low latency stream from the Wowza Streaming Cloud™ service. This application uses WOWZBroadcast and WOWZPlayer, which decompresses audio and video, and supports HLS fallback when the primary connection fails.
PlayerSampleApp.swift.xcodeproj A Swift application that demonstrates how to use the SDK to play a live stream, including an ultra low latency stream from the Wowza Streaming Cloud™ service. This application uses WOWZBroadcast and WOWZPlayer, which decompresses audio and video, and supports HLS fallback when the primary connection fails.
SceneKitReelSampleApp.objc.xcodeproj An Apple SceneKitReel application modified to support broadcasting the SceneKit app's frame buffer to a Wowza Streaming Engine server. Most of the code is written by Apple; search for #pragma mark - WowzaGoCoder to find GoCoder code. This application uses WOWZBroadcastWOWZBroadcastComponent, and related classes and protocols.
StreamMP4SampleApp.swift.xcodeproj A Swift application that demonstrates how to broadcast the frames from a local MP4 file using WOWZBroadcast, WOWZBroadcastComponent, WOWZPlayer, and related classes and protocols.

More resources