Twilio Programmable Voice SDK for iOS allows you to add voice-over-IP (VoIP) calling into your native iOS applications.
For iOS 14 compatibility, please upgrade to the latest Voice iOS 5.5.1 SDK.
Apps using versions 2.0.x, 3.x, and 4.x may fail to register for incoming calls when running on iOS 13. We recommend you upgrade to 5.0 release. Please refer to this advisory and this GitHub issue for more information. Check our migration guides when planning your migration to our latest SDK.
When using the Voice iOS SDK with Twilio Regions, please make sure the SDK version is updated to at least 6.4.0
For step-by-step instructions to get up and running with the iOS SDK for Programmable Voice, check out the quickstarts for making calls from your native iOS apps in Objective-C and Swift.
You connect to Twilio from your mobile app with the Voice SDK
Twilio sends you a webhook to get the TwiML instructions
Your backend responds to Twilio with TwiML instructions
<Dial callerId="+155512345678"><Number>+155587654321</Number></Dial>
Twilio executes your TwiML instructions (e.g. Dials the number in your TwiML instructions)
Twilio creates a VoIP connection between your callee and your mobile app
The Programmable Voice SDKs are released according to semantic versioning, so you should always note both the major and minor versions of the SDKs to maintain API compatibility with your code.
For versions 1.0 and higher, minor versions will not break existing integrations, but during a Public Beta period, minor version increments in the 0.x range represent breaking API changes. Patch level releases - 0.0.x - represent non-breaking changes during a Public Beta.
Developer tools and configuration options for Programmable Voice can be found in the Programmable Voice Dashboard. Use the console to create TwiML apps, update push credentials, view logs, and much more.
The iOS Voice SDK can be installed using Swift Package Manager, CocoaPods, or manually.
You can add the iOS Voice SDK by adding the https://github.com/twilio/twilio-voice-ios
repository as a Swift Package.
In your Build Settings, you will also need to modify Other Linker Flags
to include -ObjC
.
Add the following to your Podfile
:
1source 'https://github.com/cocoapods/specs'23target 'TARGET_NAME' do4use_frameworks!56pod 'TwilioVoice', '~> 6.11'7end
Then run pod install --verbose
to install the dependencies to your project.
TwilioVoice.xcframework
is distributed as a dynamic iOS framework that you can drag and drop into your existing projects.
TwilioVoice.xcframework
onto the Frameworks, Libraries, and Embedded Content section.Other Linker Flags
to include -ObjC
.We recommend that you start with our Getting Started guide to get a sense of how all of these components fit together. The Quickstart app is set up to manage dependencies with CocoaPods, but you can also install the frameworks manually as described above.