The Twilio Client SDKs for Android & iOS have been deprecated and replaced by Twilio's new Programmable Voice SDK.
The Programmable Voice SDK offers many improvements over the Twilio Client SDK, including greater stability, improved backgrounding, and built-in support for push notifications for incoming calls.
Get started with the new Programmable Voice SDK by checking out one of the links below:
* Programmable Voice SDK for Android Quickstart
* Programmable Voice SDK for iOS: Objective-C Quickstart
* Programmable Voice SDK for iOS: Swift Quickstart
If you're just getting started with a Twilio mobile application for voice calling, we recommend you use the Programmable Voice SDK. If you're already using the Twilio Client SDK, you should plan to upgrade to the Programmable Voice SDK as soon as you're able.
- CLIENT-2516 Fixes a bug where the SDK was generating a extraneous error message "Deactivating an audio session that has running I/O" while disconnecting a call.
- CLIENT-2625 Fixes a bug where the SDK was unable to receive incoming calls after switching between IPv4 and IPv6 networks. This also fixes a bug where SDK could not make outgoing calls when initialized without incoming call capability and then switching networks between IPv4 and IPv6.
- CLIENT-2599 Twilio Client iOS now supports IPv6 networks. Users can make and receive calls when their device is connected to a network that uses IPv4, IPv6, or both versions of the protocol.
- CLIENT-2575 Fixes a bug that bitcode-enabled applications fail to archive.
- Switching between IPv4 and IPv6 network without re-registering is not currently supported.
- CLIENT-2400 - Fixes a bug where a Connection may not be properly disconnected if
TCConnection.disconnect()is called before the
connectionDidConnectcallback has been invoked.
- CLIENT-2134 - The SDK is now bitcode-enabled.
- CLIENT-2136 - The
-read_only_relocs suppressflag is removed from the podspec.
- CLIENT-2119 - Fixes the linker warnings about pre-compiled headers and missing external types.
- CLIENT-2109 - Fixes a crash when network reachability is changed, e.g., switching from carrier network to WIFI, especially when the connectivity is bad and the application is in the background.
- A new and easier-to-use class method
versionfor getting the SDK version has been added to the TwilioClient object. The original
versionproperty and its getter method is still available.
- CLIENT-1690 - Fixes a bug where an application was not able to receive presence events after calling
- CLIENT-1695 - Initializing or updating a
TCDeviceinstance with a
nilor empty capability token string will now trigger the
- CLIENT-1812 - The SDK will no longer print log messages for temporary SIP registration redirects.
- CLIENT-1878 - Fixes a crash when initializing or updating a
- CLIENT-1688 - The SDK now gracefully handles audio interruptions from incoming phone calls and other audio events. The audio of a Twilio Client call will resume after an interruption ends.
- CLIENT-1950 - The SDK automatically rejects pending incoming connections upon network reachability change events.
- CLIENT-2038 - New API
TwilioClientto enable/disable the collection and transmission to Twilio of call quality analytics. This feature is enabled by default.
- CLIENT-1878 -
TCDeviceno longer automatically reconnects to Twilio following a disconnection due to bad network connectivity. The previous behavior produced a crash when the application developer simultaneously attempted to reconnect at the
- CLIENT-1878 - Fix crash when multiple
TCDeviceinitializations or updates are made under bad network connectivity.
- CLIENT-1823 - Twilio Client crashes when
- CLIENT-1928 - Fix crash when phone is in airplane mode.
- CLIENT-1915 - Convert BasicPhone sample app to ARC.
- MSDK-181 - Fix crash when placing a call before registration completes.
- MSDK-305 - Remove non-referenced libraries from sample projects.
- MSDK-309 - Suppress warning message about wildcard certificates.
- MSDK-388 - Fix crash on
- MSDK-477 - Fix rare registration failure with redirect.
- MSDK-87 - New API to obtain version of iOS SDK.
- MSDK-8 -
TCDeviceStateOfflinewhenever its capability token expires.
- MSDK-77 -
TCConnectionStateenum is now accessible from Swift.
- MSDK-93 - The SDK now includes separate libraries for OpenSSL.
- MSDK-98 - The SDK no longer crashes when initializing
TCCommandHandlerin iOS 7.0 and lower.
- MSDK-100 - Corrected a crash that could occasionally occur when un-registering a
-unlistenor due to capability token expiration.
- MSDK-101, MSDK-102, MSDK-146, MSDK-181 and MSDK-183 - A number of crashes that could occur when calling
[TCDevice connect]have been corrected.
- MSDK-106 - The SDK no longer pauses music when
[TCDevice initWithCapabilityToken]is called.
- MSDK-184 - The SDK now uses OpenSSL v1.0.1k.
- MSDK-42 - Eliminated "duplicate symbol" error loading lib in TwilioSDK 1.2.
- MSDK-47 - Eliminated a rare crash when handling a 302 redirect response from Twilio.
- MSDK-56 - TwilioSDK no longer holds onto
- MSDK-58 - Fixed a problem where
didReceiveIncomingConnectiondid not work as expected when handling multiple
- MSDK-76 - Eliminated a crash caused by accessing
pjlibin an unknown/external thread.
Initial 1.2 release.
Twilio Client for iOS now takes advantage of Twilio’s Global Low Latency (GLL) routing to further improve call quality. Media for all Twilio Client calls is routed to the Twilio data center geographically nearest to the user, significantly reducing call latency.
Twilio Client for iOS can now target the 64-bit runtime, improving the performance of your Twilio Client application.
We’ve made it easier to find and resolve issues in your Twilio Client iOS application with more detailed logging.
[[TwilioClient sharedInstance] setLogLevel:TC_LOG_DEBUG];
Available log levels in order of verbosity:
Call Sid is available for outgoing calls as well.
We have improved both BasicPhone and Quickstart sample applications. Server backend can be simply installed to your Heroku account from https://github.com/twilio/mobile-quickstart.
- iOS 6.0+
- iOS 7.0+
- iOS 8.0+
- iPhone 4S and later (running iOS 6 and later)
- iPad 2 and later (running iOS 6 and later)