Azure SDK for iOS (February 2021)
The Azure SDK team is pleased to announce our February 2021 client library releases.
Beta
- 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.
Xcode
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: https://github.com/Azure/azure-sdk-for-ios.git 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: "https://github.com/Azure/azure-sdk-for-ios.git", from: "1.0.0-beta.8")
],
Next, add each client library you wish to use in a target to the target’s array of dependencies
:
targets: [
...
.target(
name: "MyTarget",
dependencies: [
"AzureCommunication",
"AzureCommunicationCalling",
"AzureCommunicationChat"
...
]
)
]
Cocoapods
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
use_frameworks!
target 'MyTarget' do
pod 'AzureCommunication', '~> 1.0.0-beta.8'
pod 'AzureCommunicationCalling', '~> 1.0.0-beta.8'
pod 'AzureCommunicationChat', '~> 1.0.0-beta.8'
...
end
Then, run the following command:
$ pod install
Feedback
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.8 (Changelog)
Azure Communication Services Common
Breaking Changes
- Renamed the type
CommunicationUserCredential
toCommunicationTokenCredential
, as it represents a token. - Communication identifier
MicrosoftTeamsUserIdentifier
propertyidentifier
renamed touserId
since identifier was too generic. - Communication identifier
MicrosoftTeamsUserIdentifier
propertyid
renamed torawId
to represent full MRI. - Communication identifier
PhoneNumberIdentifier
propertyid
renamed torawId
to represent full MRI. - Removed
CallingApplicationIdentifier
as it is currently unused by any service. - The protocol
CommunicationTokenCredential
has likewise been renamed toCommunicationTokenCredentialProviding
. - All types that conform to the
CommunicationIdentifier
protocol now use the suffixIdentifier
. For example, thePhoneNumber
type used to represent a phone number identifier is now namedPhoneNumberIdentifier
. - Updated the
CommunicationTokenCredential
initializer that automatically refreshes the token to accept a singleCommunicationTokenRefreshOptions
object instead of multiple parameters. - Removes
CommunicationUserCredentialPolicy
. This policy was a duplicate ofAzureCore.BearerTokenCredentialPolicy
. Communication now has new ability to createBearerTokenCredentialPolicy
using the newCommunicationPolicyTokenCredential
.
Azure Communication Services Calling
New Features
- Added ability to join a Teams meeting.
- New event on
Call
OnIsRecordingActiveChanged
to indicate when the recording has been started and stopped and new propertyIsRecordingActive
to indicate if currently the recording is active or not.
Key Bug Fixes
- Fix wrong
callId
on the incomingCall
object. - When placing outgoing call or joining a group call event will be raised
OnCallsUpdated
when call list is updated. - Throw
IllegalArgumentException
ifnull
camera is passed to constructor ofLocalVideoStream
. - Fixed video freezing in landscape mode.
RendererView
layout is no longer off after a device rotation.RendererView
is no longer blank when not added to the window right away.- Fixed
RendererView
issues when joining a call with a reusedgroupId
.
Azure Communication Services Chat
New Features
- Introduced
ChatClient
andChatThreadClient
to split operations on threads and operations within a particular thread. - Create thread sets repeatability-Request-ID for idempotency if not provided.
- Introduced
MessageContent
model to replace string content property.
Breaking Changes
ChatThreadMember
renamed toParticipant
, usesCommunicationUserIdentifier
.ChatMessage
renamed toMessage
, usesCommunicationUserIdentifier
.ChatThread
renamed toThread
, usesCommunicationUserIdentifier
.
Need help
- For reference documentation visit the Azure SDK for iOS documentation.
- For tutorials, samples, quick starts and other documentation, visit the Azure SDK for iOS repository.
- File an issue via Github Issues.
- Check previous questions or ask new ones on
StackOverflow using the
azure
andios
tags.
Latest Releases
View all the latest versions of iOS packages here.