The primary class for connecting to Twilio services from your app is TCDevice. This class coordinates service authorization with Twilio, listens for incoming connections, and establishes outgoing connections. An instance of this class is created using a "capability token", described in the next section.

Connections to Twilio, either incoming or outgoing, are represented by instances of the class TCConnection.

The Twilio Client SDK uses a capability token to sign communications from your iOS app to Twilio. These tokens are created by you on your server and allow you to specify what capabilities are going to be available to your app, such as whether it can receive incoming connections, make outgoing connections, etc. These tokens always have an expiration, which means all tokens have a limited lifetime to protect you from abuse. It is up to you to determine how often these tokens must be refreshed.

Twilio capability tokens are based on the JSON Web Token standard. They can be generated with our helper libraries that come in a variety of languages.

For the security of your Twilio account, you should not embed a Capability Token or your Twilio Auth Token as strings in the app you submit to the App Store.