In this tutorial, we will use the Twilio Client SDK for iOS and TwiML to demonstrate how to make an outgoing call from a mobile app to a regular phone, receive an incoming call from a phone, and make calls between two Twilio Client instances.
This guide assumes you have familiarity with iOS and Objective-C concepts like View-Controllers, delegates, properties, and Objective-C object life cycle and memory management.
Install Xcode 6 with at least iOS SDK 8 or higher. Xcode may be obtained from the Mac App Store.
Get set up as a registered iOS developer with valid Provisioning Profile(s) for any devices you will be testing with. For more information on provisioning devices, please refer to Apple's documentation Maintaining Identifiers, Devices, and Profiles.
Get a Twilio Account SID and Auth Token to initiate calls from your iOS device. You will find these in your Account Dashboard. If you don't have an account, you can always sign up for a free trial account.
In the example that follows, we'll setup a web application server on the public Internet to host the server code for generating a capability token and TwiML (more on this later). The Quickstart depends on a sample python app deployed to Heroku for this purpose, but you can switch this out later to use any backend language and hosting infrastructure that you prefer.
The easiest way to incorporate TwilioSDK to your project is using CocoaPods. Simply add the following line to your
pod 'TwilioSDK', '~>1.2'
Alternatively, you may download the tar.bz2 file (27 MB).
You can find all of the code from these tutorials in the
of the iOS SDK download.
Let's get some of the server-side dependencies out of the way first.