Skip to content

Migration

2.21.0

Deprecated old constructor for loading overlay by URL. Instead use constructor taking accountId and programId.

Deprecated old method setUrl(webUrl:) for changing program by URL. Instead use setProgram.

2.20.0

Minimum Xcode version changed to 16.0. Minimum iOS deployment target changed to 13.0.

2.12.0

Minimum Deployment target set to iOS 11.0

XCode 14 drops support for older versions of iOS, therefore the framework's minimum deployment target is now iOS 11.

Bitcode removed

App Store no longer accepts submissions with bitcode, therefore bitcode has been removed from the framework.

2.9.0

Required Xcode 13

The SDK is built for Xcode 13.

2.7.0

Moved Cocoapods repo

If installing the SDK using Cocoapods, remove the old and add the new repo

pod repo remove ease-live-bridge-ios-pod
pod repo add ease-live-bridge-ios-pod https://github.com/ease-live/ease-live-bridge-ios-pod
pod repo update

and change the source in your Podfile

source 'https://github.com/ease-live/ease-live-bridge-ios-pod.git'

2.5.0 → 2.6.0

Required Xcode 12

The SDK is built for Xcode 12 to add support for the new ARM64 Simulator.

Minimum Deployment target iOS 9.0

Xcode 12 drops support for iOS 8, therefore the minimum deployment target is now increased to iOS 9.0.

Minimum Cocapods version 1.9.0

If using Cocoapods to install the SDK, it is now required to use minimum Cocapods 1.9.0 which added support for XCFramework distribution.

2.3.0 → 2.4.0

Required Swift 5.1

The SDK is now built for Swift 5.1 and Xcode 11. If Swift 5.0 support is required stay on SDK version 2.3.

XCFramework for XCode 11

The SDK is now delivered as an XCFramework file. To upgrade a manually installed earlier version: remove the old framework file EaseLiveSDK.framework from your project and follow instructions to install the EaseLiveSDK.xcframework.

2.2.x → 2.3.0

Required Swift 5

The SDK is now built for Swift 5.0.1 and Xcode 10.2.1. If Swift 4.2 support is required stay on SDK version 2.2.

Deprecated passing parameters to create()

To improve compiler type checking, all parameters should be passed to the constructors instead of create().

  • Constructor EaseLive(url:playerPlugin:) was deprecated. Please migrate to EaseLive(parentView:webUrl:playerPlugin:).
  • Function EaseLive.create(params:) was deprecated. Please migrate to EaseLive.create() and pass the parameters to the constructor instead.

Removed unnecessary protocols

  • Removed protocol ComponentProtocol. Plugins should implement protocol ComponentInterface.
  • Removed protocol PlayerPluginProtocol. Player plugins should implement protocol PlayerPluginInterface or extend PlayerPluginBase.

Added constants for user info keys in notifications

To avoid errors when reading values from userInfo on Notification objects there are now constants for the keys defined in EaseLiveNotificationKeys.

For example reading the error object from a EaseLiveNotificationKeys.easeLiveError notification was notification.userInfo?["error"], but should be changed to notification.userInfo?[EaseLiveNotificationKeys.errorUserInfoKey]

2.1.0 → 2.2.0

PlayerPlugin: Changed timecode parameters from String to Int64

  • in player plugin setTime(time: String) should be changed to setTime(time: Int64)
  • in player plugin onTime(time: String) should be changed to onTime(time: Int64).
  • Receivers of EaseLiveNotificationKeys.bridgeTime event should read the timecode as Int64: timecode = notification.userInfo?["timecode"] as? Int64

Changed class of error object in error notifications

The error notification now sends an instance of EaseLiveError instead of NSError.

In your handler for the EaseLiveNotificationKeys.easeLiveError notification change:

Swift
if let error = notification.userInfo?["error"] as? NSError {
    if error.code == Level.fatal.rawValue {
        // handle the error
    }
}

to

Swift
if let error = notification.userInfo?["error"] as? EaseLiveError {
    if error.level == .fatal {
        // handle the error
    }
}