-
Notifications
You must be signed in to change notification settings - Fork 0
Requirements
Dates are in the dd/MM/yyyy format
Version | Release date | Deprecation date | End of support date |
---|---|---|---|
4.0.0 | 08/11/2024 | - | - |
4.0.0-beta.1 | 04/11/2024 | - | - |
4.0.0-alpha.1 | 29/08/2024 | - | - |
3.12.1 | 16/04/2024 | - | - |
3.12.0 | 12/04/2024 | - | - |
3.11.1 | 10/04/2024 | - | - |
3.11.0 | 23/02/2024 | - | - |
3.10.2 | 31/01/2024 | - | - |
3.10.1 | 24/11/2023 | - | - |
3.10.0 | 08/11/2023 | - | - |
3.9.0 | 24/10/2023 | - | - |
3.8.0 | 19/09/2023 | - | - |
3.7.1 | 29/06/2023 | - | - |
3.7.0 | 27/06/2023 | - | - |
3.6.3 | 16/06/2023 | - | - |
3.6.2 | 28/03/2023 | - | - |
3.6.1 | 24/03/2023 | - | - |
3.6.0 | 17/03/2023 | - | - |
3.5.0 | 14/02/2023 | - | - |
3.4.2 | 29/11/2022 | - | - |
3.4.1 | 27/10/2022 | - | - |
3.4.0 | 19/10/2022 | - | - |
3.3.0 | 21/09/2022 | - | - |
3.2.0 | 01/08/2022 | - | - |
3.1.2 | 14/07/2022 | - | - |
3.1.1 | 02/07/2022 | - | - |
3.1.0 | 27/06/2022 | - | - |
3.0.1 | 09/06/2022 | - | - |
3.0.0 | 13/05/2022 | - | - |
3.0.0-beta | 26/04/2022 | - | - |
2.10.0 | 29/04/2022 | - | - |
2.9.0 | 01/02/2022 | - | - |
2.8.0 | 12/01/2022 | 02/02/2022 | 25/07/2022 |
2.7.0 | 30/12/2021 | 02/02/2022 | 25/07/2022 |
2.6.0 | 17/12/2021 | 02/02/2022 | 25/07/2022 |
2.5.1 | 14/12/2021 | 02/02/2022 | 25/07/2022 |
2.5.0 | 03/12/2021 | 02/02/2022 | 25/07/2022 |
2.4.1 | 29/10/2021 | 02/02/2022 | 25/07/2022 |
2.4.0 | 21/10/2021 | 02/02/2022 | 25/07/2022 |
2.3.0 | 11/10/2021 | 02/02/2022 | 25/07/2022 |
2.2.0 | 23/09/2021 | 02/02/2022 | 25/07/2022 |
2.1.2 | 21/09/2021 | 02/02/2022 | 25/07/2022 |
2.1.1 | 16/09/2021 | 02/02/2022 | 25/07/2022 |
2.1.0 | 28/06/2021 | 02/02/2022 | 25/07/2022 |
2.0.0 | 03/03/2021 | 02/02/2022 | 25/07/2022 |
2.0.0-beta | 22/02/2021 | 02/02/2022 | 25/07/2022 |
1.7.3 | 27/10/2020 | 02/02/2022 | 25/07/2022 |
1.7.2 | 20/10/2020 | 28/04/2021 | 25/07/2022 |
1.7.1 | 13/10/2020 | 28/04/2021 | 25/07/2022 |
1.7.0 | 05/10/2020 | 28/04/2021 | 25/07/2022 |
1.6.0 | 08/07/2020 | 28/04/2021 | 25/07/2022 |
1.5.0 | 10/06/2020 | 28/04/2021 | 25/07/2022 |
1.4.0 | 06/02/2020 | 28/04/2021 | 25/07/2022 |
1.3.0 | 11/11/2019 | 28/04/2021 | 25/07/2022 |
1.2.2 | 24/10/2019 | 28/04/2021 | 25/07/2022 |
1.2.1 | 11/10/2019 | 28/04/2021 | 25/07/2022 |
1.2.0 | 04/10/2019 | 28/04/2021 | 25/07/2022 |
1.1.1 | 16/05/2019 | 07/07/2020 | 07/07/2020 |
1.1.0 | 25/02/2019 | 07/07/2020 | 07/07/2020 |
1.0.1 | 20/02/2019 | 07/07/2020 | 07/07/2020 |
1.0.0 | 17/01/2019 | 07/07/2020 | 07/07/2020 |
Version | Release date | Deprecation date | End of support date |
---|---|---|---|
1.2.0 | 27/06/2022 | - | - |
1.1.0 | 17/12/2021 | - | - |
1.0.1 | 12/10/2021 | - | - |
The Kaleyra Video iOS SDK supports iOS platform only. It requires iOS 15.0 or above.
Version | Platform | Minimum deployment target (compile time) | Runtime target |
---|---|---|---|
4.x.x | iOS | 15.0 | 15.0 |
3.x.x | iOS | 10.0 | 12.0 |
2.x.x | iOS | 10.0 | 10.0 |
1.x.x | iOS | 9.0 | 10.0 |
The KaleyraVideoBroadcastExtension framework supports iOS platform only. It requires iOS 12.0 or above.
Both the KaleyraVideoSDK and the KaleyraVideoBroadcastExtension frameworks use Swift 5.1
Starting from version 4.0.0 the KaleyraVideoSDK drops support to objective-c.
Version 3 and earlier
Both the KaleyraVideoSDK and the KaleyraVideoBroadcastExtension are a mix of Objective-c and Swift code, this means that even if your application or your Broadcast extension are written entirely in Objective-c you must embed Swift standard libraries, otherwise the dynamic linker will fail when launching your app or extension.
As you might already know, Swift has reached ABI stability in version 5.0 (ABI stability enables libraries compiled with different compilers to talk to each other at runtime) but it has reached Module Stability only in version 5.1 which is still in its early stages. Before Module stability (altought this still holds true if the module is not compiled with library evolution flag) Swift modules compiled against a certain compiler version could not talk to other modules compiled against a different compiler version leading to the famous "Module compiled with Swift X cannot be imported by the Swift Y compiler" error. BandyerSDK binary framework is compiled with library evolution flag enabled from version 1.3.0. Library evolution is always forward compatible but NOT backward compatible, this means that if you are using the same compiler used to build the BandyerSDK or a newer one you should not have any issue while importing the Bandyer module, otherwise if you are using an older compiler with respect to the one used to build the Bandyer module, you won't be able to import it.
Below you will find a table specifying which version of the KaleyraVideoSDK module has been compiled with library evolution enabled along with the compiler version used to compile it.
Module version | Swift version | Swift compiler version | Xcode version |
---|---|---|---|
4.0.0 | 5.1 | 5.10 | 15.3 |
4.0.0-beta.1 | 5.1 | 5.10 | 15.3 |
4.0.0-alpha.1 | 5.1 | 5.10 | 15.3 |
3.12.1 | 5.1 | 5.5 | 13.0 |
3.12.0 | 5.1 | 5.5 | 13.0 |
3.11.1 | 5.1 | 5.5 | 13.0 |
3.11.0 | 5.1 | 5.5 | 13.0 |
3.10.2 | 5.1 | 5.5 | 13.0 |
3.10.1 | 5.1 | 5.5 | 13.0 |
3.10.0 | 5.1 | 5.5 | 13.0 |
3.9.0 | 5.1 | 5.5 | 13.0 |
3.8.0 | 5.1 | 5.5 | 13.0 |
3.7.1 | 5.1 | 5.5 | 13.0 |
3.7.0 | 5.1 | 5.5 | 13.0 |
3.6.3 | 5.1 | 5.5 | 13.0 |
3.6.2 | 5.1 | 5.5 | 13.0 |
3.6.1 | 5.1 | 5.5 | 13.0 |
3.6.0 | 5.1 | 5.5 | 13.0 |
3.5.0 | 5.1 | 5.5 | 13.0 |
3.4.2 | 5.1 | 5.5 | 13.0 |
3.4.1 | 5.1 | 5.5 | 13.0 |
3.4.0 | 5.1 | 5.5 | 13.0 |
3.3.0 | 5.1 | 5.5 | 13.0 |
3.2.0 | 5.1 | 5.3 | 12.0 |
3.1.2 | 5.1 | 5.3 | 12.0 |
3.1.1 | 5.1 | 5.3 | 12.0 |
3.1.0 | 5.1 | 5.3 | 12.0 |
3.0.1 | 5.1 | 5.3 | 12.0 |
3.0.0 | 5.1 | 5.3 | 12.0 |
3.0.0-beta | 5.1 | 5.3 | 12.0 |
2.10.0 | 5.1 | 5.3 | 12.0 |
2.9.0 | 5.1 | 5.3 | 12.0 |
2.8.0 | 5.1 | 5.3 | 12.0 |
2.7.0 | 5.1 | 5.3 | 12.0 |
2.6.0 | 5.1 | 5.3 | 12.0 |
2.5.1 | 5.1 | 5.3 | 12.0 |
2.5.0 | 5.1 | 5.3 | 12.0 |
2.4.1 | 5.1 | 5.3 | 12.0 |
2.4.0 | 5.1 | 5.3 | 12.0 |
2.3.0 | 5.1 | 5.3 | 12.0 |
2.2.0 | 5.1 | 5.3 | 12.0 |
2.1.2 | 5.1 | 5.3 | 12.0 |
2.1.1 | 5.1 | 5.3 | 12.0 |
2.1.0 | 5.1 | 5.4.2 | 12.5.1 |
2.0.0 | 5.1 | 5.2 | 12.0 |
2.0.0-beta2 | 5.1 | 5.2 | 12.0 |
2.0.0-beta | 5.1 | 5.2 | 12.0 |
1.7.3 | 5.1 | 5.1.3 | 11.3.1 |
1.7.2 | 5.1 | 5.1.3 | 11.3.1 |
1.7.1 | 5.1 | 5.1.3 | 11.3.1 |
1.7.0 | 5.1 | 5.1.3 | 11.3.1 |
1.6.0 | 5.1 | 5.1.3 | 11.3.1 |
1.5.0 | 5.1 | 5.1.3 | 11.3.1 |
1.4.0 | 5.1 | 5.1.3 | 11.3.1 |
1.3.0 | 5.1 | 5.1.2 | 11.2.1 |
Module version | Swift version | Swift compiler version | Xcode version |
---|---|---|---|
1.1.0 | 5.1 | 5.3 | 12.0 |
1.0.1 | 5.1 | 5.3 | 12.0 |
1.0.0 | 5.1 | 5.4.2 | 12.5.1 |
1.0.0-beta | 5.1 | 5.2 | 12.0 |
Below you will find a table specifying which SDK versions have not been compiled with library evolution. This means each module version can be imported in modules compiled against the same compiler version
Module version | Swift version | Xcode version |
---|---|---|
1.2.2 | 5.1 | 11.1 |
1.2.1 | 5.1 | 11.1 |
1.2.1 | 5.1 | 11.1 |
1.2.0 | 5.1 | 11.0 |
All versions starting from 1.0.0 to 1.1.1 do not contain any Swift code
The KaleyraVideoSDK requires several system frameworks to be linked to your app. If you are using CocoaPods or SPM you can skip this chapter altogether. The following Cocoa frameworks must be linked into the application target for proper compilation:
Version 4.x.x
- Foundation.framework
- UIKit.framework
- AVFoundation.framework
- SystemConfiguration.framework
- WebKit.framework
- MediaPlayer.framework
- CoreGraphics.framework
- CoreMedia.framework
- CoreImage.framework
- CoreServices.framework
- Photos.framework
- Security.framework
- PushKit.framework
- CallKit.framework
- Intents.framework
- ReplayKit.framework
- CoreServices.framework
- Combine.framework
- UniformTypeIdentifier.framework
Version 3.x.x
- Foundation.framework
- UIKit.framework
- AVFoundation.framework
- SystemConfiguration.framework
- MobileCoreServices.framework
- WebKit.framework
- MediaPlayer.framework
- CoreGraphics.framework
- CoreMedia.framework
- CoreImage.framework
- CoreServices.framework
- Photos.framework
- Security.framework
- PushKit.framework
- CallKit.framework
- Intents.framework
- ReplayKit.framework
Kaleyra Video iOS SDK is linked with weak references to CoreServices.framework.
The KaleyraVideoBroadcastExtension requires several system frameworks to be linked to your extension. If you are using CocoaPods or SPM you can skip this chapter altogether. The following Cocoa frameworks must be linked into the extension target for proper compilation:
- Foundation.framework
- ReplayKit.framework
- AVFoundation.framework
- CoreImage.framework
- CoreMedia.framework
Starting from 3.6.0 version the SDK embeds all the dependencies it needs, if you are integrating with the 3.6.0 version or above you can skip the following section. However, older versions do not embed those dependencies and they are required in order to compile and run the SDK. Several third-party libraries are used within Kaleyra Video iOS SDK, and must be linked and referenced in order to make your app compile and link without errors:
- Socket.IO-Client-Swift version >= 16.0
- Starscream version >= 4.0
The Kaleyra Video iOS SDK requires Camera and Microphone permissions. Camera and Microphone permissions system alerts are prompted to the user automatically the first time the SDK is accessing camera or microphone devices. If you want to have more control about when those system alerts are prompted to the user, you must take care of that before the SDK view controller is presented to the user.
Beware, your app Info.plist must contain NSCameraUsageDescription
and NSMicrophoneUsageDescription
keys along with the associated localized string messages that will be prompted to the user. Failing to do so will result in an app crash when the framework will try to capture video frames from the camera or audio frames from the microphone. You might also need to add the NSPhotoLibraryUsageDescription
key along with the associated localized string message to your app Info.plist file if you are targeting iOS 10.0 or below.
For more information head over to our permission guide
The Kaleyra Video iOS SDK uses ARC.
Starting from version 4.0.0 bitcode has been removed from the SDK. From the 2.6.0 version to the latest 3.x version of the SDK and from the 1.1.0 version to the latest 1.x version of the broadcast extension supports bitcode. Older version of the SDK and the broadcast extension do not support bitcode
KaleyraVideoSDK >= 3.1.0
- arm
- arm64
- arm64e
- armv7
- armv7s
- x64
KaleyraVideoSDK < 3.1.0
- arm
- arm64
- arm64e
- armv7
- armv7s
- x64
- x86
- arm64
- x64
Starting from the 3.1.0 version of the KaleyraVideoSDK and from the 1.2.0 version of the KaleyraVideoBroadcastExtension the binaries are shipped as XCFrameworks. The XCFramework versions can run on ARM and x86_64 simulators and ARM devices. Previous versions of the KaleyraVideoSDK and the KaleyraVideoBroadcastExtension were shipped as FAT frameworks without support for ARM simulators.
Looking for other platforms? Take a look at Android, Flutter, ReactNative, Ionic / Cordova. Anything unclear or inaccurate? Please let us know by submitting an Issue or write us here.