Getting Started with iOS SDK

iOS Simulator can not be used for audio in real time. You must connect an iPhone for testing.

Add SDK to your project

First thing you have to do is add the main frameworks needed to use Voicemod:

  • Voicemod.framework
  • Ogg.framework
  • Vorbis.framework

Just drag and drop from the root of the VoicemodSDK folder to your project within Xcode.

Voicemod needs also some other frameworks inside your project

  • CoreMedia
  • AudioToolbox
  • AVFoundation
  • libstdc++.6.0.9

Just add each of them by going to your main project -> Build Phases -> Link Binary With Libraries and click + for each framework.

Using VoicemodSDK in a Swift project

In order to use VoicemodSDK in a Swift project you need to use a Bridging Header as explained in Apple tutorial, and put the import inside the header file

Add VoiceData folder to your project

In order to use background sounds you need to add the "VoiceData" folder to your project using "Create folder references" option in order to ensure that in the compiled app the sounds will be in the main bundle inside a VoiceData folder


Additions to your Info.plist file

The are two additions to your actual Info.plist file, a microphone access permission and network access to in order to check your license status.

In order to use microphone you need to add NSMicrophoneUsageDescription ("Privacy - Microphone Usage Description" in natural words) string key to your Info.plist file, the value of the key will be showed in alert view asking to the user.

You also need to add network access to using these two options:

  • Option 1: Add NSAppTransportSecurity ("App Transport Security Settings") key inside your Info.plist file, and add NSAllowsArbitraryLoads ("Allow Arbitrary Loads") boolean key set to YES.


  • Option 2: Add NSExceptionDomains ("Exception Domains") key a dictionary with the key "" and booleans values set to YES to keys NSIncludesSubdomains and NSExceptionAllowsInsecureHTTPLoads


Initialize the SDK

You need to import VoicemodSDK.h file and add the call to startWithClientKey: method, with your own Client key, inside application:didFinishLaunchingWithOptions: in your main App delegate:

Once the SDK are initialized you can use this two ways to access sharedInstance of the singleton