Programmable Chat has been deprecated and is no longer supported. Instead, we'll be focusing on the next generation of chat: Twilio Conversations. Find out more about the EOL process here.
If you're starting a new project, please visit the Conversations Docs to begin. If you've already built on Programmable Chat, please visit our Migration Guide to learn about how to switch.
We recommend referencing the links below in your projects. As we patch bugs, these links will automatically be updated with fixes.
pod 'TwilioChatClient', '~> 5.0.1'
https://github.com/twilio/twilio-chat-ios
If you need help installing these frameworks in your project, see our installation guidance.
The Chat iOS SDK is unavailable via Carthage because we require support for binary XCFramework files.
If you are interested in Mac Catalyst support, please contact support to get hands-on experience with it.
Twilio Programmable Chat SDKs use Semantic Versioning. Twilio supports version N-1 for 12 months after the first GA release of version N. We recommend that you upgrade to the latest version as soon as possible to avoid any breaking changes. Version 5.x is the latest iOS version.
Support for 4.x will cease on May 17, 2022. Please upgrade to the latest version.
Support for 3.x ceased on July 20, 2021. Please upgrade to the latest version.
Support for 2.x ceased on March 6, 2021. Please upgrade to the latest version.
End-of-Life for 1.x occurred on June 30, 2019. Please upgrade to the latest version.
Links are provided to specific patch versions here. We don't recommend using these links unless you have a specific need for a certain patch of a release.
onChannelAdded
event sometimes didn't arrive after restoring application from background.[TCHChannel setAttributes]
will invoke completion (i.e., success) while [TCHChannel attributes]
still returns the old value. To see the new value, we recommend waiting for an update event, e.g., in the chatClient:channel:updated:TCHChannelUpdateAttributes
delegate.50601, Invite not found instead
of 50602, Cannot decline invite when already channel member
.50402, Member not found
instead of 50400, User not member of channel
.useProxy
passed to client properties on client creation. Proxy settings are read from the system configuration.deferCertificateTrustToPlatform
, passed to client properties on client creation.withAttributes
on message options creation will be called now after a message would be sent.TCHUserUpdateReachabilityOnline
and TCHUserUpdateReachabilityNotifiable
events could not come sometimes.onChannelDeleted
doesn't come for private Channel when Member removed by other user.memberWithIdentity
from multiple threads.TCHMessage
accessor: timestamp
as dateCreated
; timestampAsDate
asdateCreatedAsDate
.[TCHMembers membersWithCompletion]
transformed to synchronous [TCHMembers membersList]
.TCHMemberUpdateLastConsumptionTimestamp
.
TCHMemberUpdateAttributes
, potentially a silent breaking change if this value was serialized.queryItemsWithOptions
to return error in completion if pageSize
is 0.[TCHChannel getUnconsumedMessagesCountWithCompletion]
to return nil instead of 0 if message consumption horizon was not set.
NSNumber*
(nullable object type), instead of NSUInteger to accommodate this change.[TCHMessages setNoMessagesConsumedWithCompletion]
to use nullable NSNumber*
, it will always return nil (because it resets the consumption horizon).[TCHMessage getMediaContentTemporaryUrlWithCompletion]
to get a temporary direct link to Media content.[NSData dataWithContentsOfURL()]
.[TCHMessage getMediaWithOutputStream:...]
. Use above API instead.This version has been deprecated June 1, please use 3.1.1.
This version was deprecated June 1, 2019, please use 3.1.1.
[TwilioChatClient chatClient:connectionStateUpdated:]
.CFBundleVersion
and CFBundleShortVersionString
in the Info.plist
of the framework, which fixes exporting app archives to AppStore.TCHJsonAttributes
for Attributes (TCHChannel
, TCHMessage
, TCHMember
, TCHUser
). Now it supports not only Json Object, which was translated to NSDictionary
, but also NSArray
, NSString
, NSNumber
, NSNull
.chatClient:channelAdded:
called.TCHClientConnectionStateFatalError
could appear in some cases. This error means chat is in a terminal state, and needs to re-create the client.For older changelog entries including 2.x, see the 2.x Changelog.