The Azure SDK team is pleased to announce our March 2021 client library releases.


  • Add packages


  • Add packages


  • Azure Communication Services Calling
  • Azure Communication Services Chat
  • Azure Communication Services Common

Installation Instructions

To install the latest GA and beta libraries, we recommend you use the Swift Package Manager. As an alternative, you may also integrate the libraries using CocoaPods.


To add the Azure SDK for iOS to your application, follow the instructions in Adding Package Dependencies to Your App:

With your project open in Xcode 11 or later, select File > Swift Packages > Add Package Dependency… Enter the clone URL of this repository: and click Next. For the version rule, specify the exact version or version range you wish to use with your application and click Next. Finally, place a checkmark next to each client library you wish to use with your application, ensure your application target is selected in the Add to target dropdown, and click Finish.

Swift CLI

To add the Azure SDK for iOS to your application, follow the example in Importing Dependencies:

Open your project’s Package.swift file and add a new package dependency to your project’s dependencies section, specifying the clone URL of the repository and the version specifier you wish to use:

    dependencies: [
        .package(url: "", from: "1.0.0-beta.9")

Next, add each client library you wish to use in a target to the target’s array of dependencies:

    targets: [
            name: "MyTarget",
            dependencies: [


CocoaPods is a dependency manager for Objective-C and Swift projects. You can install it with the following command:

$ [sudo] gem install cocoapods

CocoaPods 1.5+ is required.

To integrate one or more client libraries into your project using CocoaPods, specify them in your Podfile, providing the version specifier you wish to use. To ensure compatibility when using multiple client libraries in the same project, use the same version specifier for all Azure SDK client libraries within the project:

platform :ios, '12.0'

# Comment the next line if you don't want to use dynamic frameworks

target 'MyTarget' do
    pod 'AzureCommunication', '~> 1.0.0-beta.9'
    pod 'AzureCommunicationCalling', '~> 1.0.0-beta.9'
    pod 'AzureCommunicationChat', '~> 1.0.0-beta.9'

Then, run the following command:

$ pod install


If you have a bug or feature request for one of the libraries, please post an issue to GitHub.

Release highlights

1.0.0-beta.9 (Changelog)

Azure Communication

Breaking Changes
  • Remove CommunicationCloudEnvironment.fromModel() method from Azure Communication package.
  • Remove identifier label in CommunicationUserIdentifier and UnknownIdentifier from Azure Communication package.
  • CommunicationIdentifierModel and CommunicationIdentifierSerializer are *no longer part of the Azure Communication package, they have been moved to AzureCommunicationChat package.

Azure Communication Chat

Breaking Changes
  • On ChatClient create(thread) method, renamed repeatabilityRequestID to repeatabilityRequestId
  • ChatThreadClient remove(participant) method now accepts CommunicationIdentifier instead of a string
  • For Participant renamed user property to id

Azure Communication Calling

New Features

  • SDK is now shipped as a XCFramework instead of a FAT framework created using lipo.
  • Improved caching of objects.
  • Added new call state Hold when a remote participant puts the call on hold.
Breaking Changes
  • Renderer renamed to VideoStreamRenderer.
  • AudioDeviceInfo removed from DeviceManager, please use iOS system API’s in your application to switch between audio devices.
  • CallAgent raises a new event onIncomingCall when a new incoming call is received.
  • CallAgent raises a new event onCallEnded event is raised when the incoming call wasn’t answered.
  • Accept and Reject can now be done on IncomingCall object and removed from Call object.
  • For parsing of push notification payload IncomingCallPushNotification has been renamed to PushNotificationInfo.
  • CallerInfo class created which provides information about the caller in an incoming call. Can be retrieved from IncomingCall and Call objects.

Key Bug Fixes

  • OnCallsUpdated event is raised when the call collection on CallAgent is updated for outgoing calls.
  • Hold and Resume of an active call is fixed.

Need help

Latest Releases

View all the latest versions of iOS packages here.