Changelog
Voximplant iOS SDK changelog
2.54.0
Introduce VIConnectionNodeNode11
Fix: crash on calling the SDK delegates methods
Bugfix and stability improvements
2.53.0
Remove deprecated API:
- [VIClient connect]
- [VIClient connectWithConnectivityCheck:gateways:]
Fix: [VIClient call:settings:] and [VIClient callConference:settings:] return null if the connection to the Voximplant Cloud has been closed while creating VICall instance
Fix: Disabling video for an incoming call via [VICall setSendVideo:completion:] API in the background application state is failed with VICallErrorCodeAlreadyInThisState error if the call is integrated to the system call management (CallKit) and has been answered via system controls on the lock screen.
2.52.0
Update of the iOS SDK toolchain to 14.2
Dependency update: VoxImplantWebRTC is updated to 112.0.0
Minimum supported iOS version is changed to 12.0
Introduce VIConnectionNode enum. Find more information about it in the getting started guide.
Introduce new APIs to connect to the Voximplant Cloud:
The following APIs are marked as deprecated and will be removed soon:
- [VIClient connect]
- [VIClient connectWithConnectivityCheck:gateways:]
Fix: [VIClientSessionDelegate clientSessionDidDisconnect:] is invoked instead of [VIClientSessionDelegate client:sessionDidFailConnectWithError:] in some cases when the connection to the Voximplant Cloud could not be established
Fix: VILocalVideoStream renderer renders the frames adapted to send instead of the frames captured from a video source
2.51.0
Fix: rare crash on collecting and processing call statistics
2.50.0
Dependency update: VoxImplantWebRTC is updated to 106.0.1
Fix: crash on [VIVideoStream.removeRenderer:] if the renderer is passed as nil argument
Code sign for XCFramework according to the Apple requirements
Privacy Manifest for XCFramework according to the Apple requirements
Introduce new API to handle video receive stop on a remote video stream and its reason (see 2.50.0-beta changelog)
2.50.0-beta
This is a beta SDK version. Not recommended for production use.
Signature for [VIRemoteVideoStream.startReceiving] and [VIRemoteVideoStream.stopReceiving] API is changed. The result of the API call is now provided via events:
Introduce new API to handle video receive stop on a remote video stream:
Introduce new API VIVideoStreamReceiveStopReason to handle the reason for video receive stop on a remote video stream.
2.48.2
VIClient.clientState sometimes returns an incorrect client state if [VIClient loginWithUser:password:success:failure:] API call has failed with VILoginErrorCodeTimeout error.
2.48.1
Fix: crash on [VIRemoteVideoStream requestVideoSizeWithWidth:height:] while a conference call is reconnecting
Behavior change: [VICallDelegate call:startRingingWithHeaders:] event is invoked only if the callee received the incoming call.
2.48.0
Update of the iOS SDK toolchain to 14.1
Dependency update: VoxImplantWebRTC is updated to 106.0.0
Minimum supported iOS version is changed to 11.0
32-bit architectures are no more supported. Supported architectures:
- arm64 (device)
- x86_64 (simulator)
- arm64 (simulator)
Remove bitcode support, since bitcode is deprecated by Apple. If you have a build issue related to bitcode support, please contact us.
Resolve build issues for the projects where several instances of WebRTC framework are used (from different providers)
2.47.1
Fix: incorrect remote video stream type for screensharing streams from other participants in a call / conference
Fix: screensharing from Broadcast Upload Extension is reported as VIVideoStreamTypeVideo on other conference participants
2.47.0
Dependency update: VoxImplantWebRTC is updated to 93.0.1.
XCFramework support for cocoapods (including Apple simulator arm64)
2.46.12
Fix: increase the delay to keep the connection to the Voximplant Cloud in the background after a VoIP push notification is received
Fix: [VIClientSessionDelegate clientSessionDidDisconnect:] is not invoked sometimes if a call was ended in the background
2.46.11
Connect/login stability improvements.
2.46.10
Reduce timeout for an attempt to connect or reconnect to the Voximplant Cloud
[VIVideoStream addRenderer] returns immediately, if a call or a conference call the video stream belongs to is ending or ended.
Fix: Xcode 14 warning regarding thread priority inversions on iOS 16.
2.46.9
Fix: VILoginSuccess block is not invoked if multiple login attempts are performed simultaneously
Bugfix and stability improvements.
2.46.8
Fix: [VIClient clientVersion] returns an application version if the SDK is linked statically
Fix: [VIEndpointDelegate endpoint:didRemoveRemoteVideoStream:] is not invoked if an endpoint has stopped sending video while the client was reconnecting due to a network issue
Bugfix and stability improvements.
2.46.7
Update of iOS SDK toolchain to 13.2.1
Introduce VIClient.enableForceRelayTraffic API to force the media go through TURN servers.
Bugfix and stability improvements.
2.46.6
Bugfix and stability improvements
2.46.5
Bugfix and stability improvements
2.46.4
Improve stability of media connectivity within a call
2.46.3
2.46.2
Fix: crash on [VIClient disconnect], if VIClient instance is destroyed before [VIClientSessionDelegate clientSessionDidDisconnect:] is invoked
2.46.1
[VICall startInAppScreenSharing:] API now sends the video of the application screen in 1280:720 format. If a device screen resolution does not match 16:9 aspect ratio, the SDK fits the screensharing frames into 720p frames by adding black borders
Fix: [VICallDelegate call:didReceiveStatistics:] event is not invoked after a call is connected
Bugfix and stability improvements
2.46.0
Introduce new APIs to restore the connection to the Voximplant Cloud if it was closed due to network issues during a call:
- [VIClientSessionDelegate clientSessionDidStartReconnecting:] - notifies that the connection to the Voximplant Cloud is lost and the client is reconnecting
- [VIClientSessionDelegate clientSessionDidReconnect:] - notifies that the connection to the Voximplant Cloud is restored
- VIClientStateReconnecting - client state representing that the client is reconnecting to the Voximplant Cloud
- [VICallDelegate callDidStartReconnecting:] - notifies that the SDK is reconnecting to the Voximplant Cloud and media streams may not be active
- [VICallDelegate callDidReconnect:] - notifies that the SDK is successfully reconnected to the Voximplant Cloud and media streams are restored
- VICallErrorCodeReconnecting - call error that informs that a call operation cannot be completed while a call is reconnecting
Introduce [VIVideoRendererViewDelegate videoView:didChangeVideoSize:] API to detect video frame size change on [VIVideoRendererView]
2.45.0
Introduce [VIEndpointDelegate didDetectVoiceActivityStart:] and [VIEndpointDelegate didDetectVoiceActivityStop:] API to handle voice activity of an endpoint in a conference call.
2.44.1
Fix: [VIAudioManagerDelegate audioDeviceChanged:] methods are now always invoked reports VIAudioDeviceTypeNone instead of VIAudioDeviceTypeBluetooth if Air Pods are connected during a call (iOS 15 specific).
Fix: available audio devices list does not contain VIAudioDeviceTypeReceiver if a Bluetooth device is disconnected while the audio session is inactive.
Fix: local video from front camera captured by VICameraManager is not mirrored.
2.44.0
Dependency update: VoxImplantWebRTC is updated to 93.0.0
Fix: keep the connection to the Voximplant Cloud for 5 seconds in the background after a VoIP push notification is received before the call is answered.
2.43.1
Dependency update: VoxImplantWebRTC is updated to 89.2.1.
Improve available audio devices detection: [VIAudioDeviceManager availableAudioDevices] and [VIAudioDeviceManagerDelegate audioDevicesListChanged:] API handle the cases when AirPods are put to or removed from the case during a call.
Fix: local video stream is removed if disabling video in a call via [VICall setSendVideo:completion] API is failed.
Fix: SwiftPM may fail to resolve Voximplant iOS SDK version with error "TSCBasic.StringError error 1."
2.43.0
Introduce VIInboundAudioStats.audioLevel API that represents the audio audioLevel of a remote audio stream in a call.
Introduce VICallSettings.statsCollectionInterval API to configure the interval of [VICallDelegate call:didReceiveStatistics:] event.
Fix: wrong calculation of VICallStats.videoPacketsSent
Bugfix and stability improvements
2.42.1
Fix: [VIRemoteVideoStream startReceivingWithCompletion:] and [VIRemoteVideoStream stopReceivingWithCompletion:] API may fail during a conference call.
Bugfix and stability improvements.
2.42.0
Introduce new API: VIAudioManager.speakerIsDefault and VIAudioManager.mode.
2.41.1
Fix: resolve a retain cycle for VICall.
2.41.0
Dependency update: VoxImplantWebRTC is updated to 89.2.0.
Introduce new API VIVideoRendererViewDelegate to detect the first frame rendered event for a video view
Fix: H264 was used as a default codec if a call was started with only video receive enabled.
Fix: video call in p2p mode is failed between Web client and iOS application
Fix: False positive detection of VIQualityIssueTypeLocalVideoDegradation when a participant joins audio or video conference
Fix: [VIQualityIssueDelegate call:didDetectIceDisconnected:] is not invoked if ICE connection is failed due to network reasons
Known issues:
Screensharing with H264 codec does not work properly on several iOS devices.
Simulcast feature is not available for incoming conference calls (received from [VIClientCallManagerDelegate client:didReceiveIncomingCall:withIncomingVideo:headers:]). This functionality will be added in next releases.
2.40.0
Dependency update: VoxImplantWebRTC is updated to 89.1.0.
Introduce VIClient.enableVideoAdaptation API to specify if outgoing video should be adapted for cpu and network conditions.
Bugfix and stability improvements.
Known issues:
Screensharing with H264 codec does not work properly on several iOS devices.
Simulcast feature is not available for incoming conference calls (received from [VIClientCallManagerDelegate client:didReceiveIncomingCall:withIncomingVideo:headers:]). This functionality will be added in next releases.
2.39.0
Dependency update: VoxImplantWebRTC is updated to 89.0.1.
Introduce VIRemoteVideoStream.width and VIRemoteVideoStream.height API to access the frame size of a remote video stream.
Introduce new API to detect issues with audio or video receive on remote streams:
Make all VIQualityIssueDelegate methods optional.
Improve H264 codec for in-app screen sharing.
Fix: H264 was used as a default codec if a call was started with only video receive enabled.
Bugfix and stability improvements.
Known issues:
Screensharing with H264 codec does not work properly on several iOS devices.
Simulcast feature is not available for incoming conference calls (received from [VIClientCallManagerDelegate client:didReceiveIncomingCall:withIncomingVideo:headers:]). This functionality will be added in next releases.
2.38.0
Dependency update: VoxImplantWebRTC is updated to 89.0.0.
Introduce simulcast feature support for video conferences. Simulcast is currently disabled by default, but can be enabled via VICallSetting.enableSimulcast property.
Introduce VILocalVideoStream and VIRemoteVideoStream interfaces that extend VIVideoStream class and provide additional functionality. Please consider the changes in VICallDelegate and VIEndpointDelegate API related to the video stream parameter type:
Introduce new APIs to control remote video streams in a video conference call:
Introduce VIVideoStreamLayerStats API to provide local video stream layers statistics.
Improve call statistics logs.
[VICall setHold:completion:] is no more available for conference calls. It will fail with VICallErrorCodeIncorrectOperation error.
Bugfix and stability improvements.
Known issues:
Screensharing with H264 codec does not work properly on several iOS devices.
Simulcast feature is not available for incoming conference calls (received from [VIClientCallManagerDelegate client:didReceiveIncomingCall:withIncomingVideo:headers:]). This functionality will be added in next releases.
2.37.0
Dependency update: VoxImplantWebRTC is updated to 78.5.2.
Added missing nullability annotations for API.
Bugfix and stability improvements.
2.36.2
Introduced VICallFailErrorCodeRequestTimeout.
Update of iOS SDK toolchain to 12.2.
2.36.1
Fix: [VICall setSendVideo:completion:], [VICall startReceiveVideoWithCompletion:], [VICall setHold:completion:] are failed with VICallErrorCodeTimeout error if any of them were previously failed with VICallErrorCodeRejected error.
Camera management improvements.
Bugfix and stability improvements.
2.36.0
VICall.videoSource now returns the video source that is currently used in the call. Please note that the property returns nil for audio calls.
Bugfix and stability improvements.
2.35.1
Improve stability of media connectivity within a call
2.35.0
Dependency update: VoxImplantWebRTC is updated to 78.5.1.
Bugfix and stability improvements.
Change iOS SDK toolchain from 12.0 to 11.5 to keep the compatibility for projects that use Xcode 11.5. iOS SDK toolchain will be updated later with a corresponding message in the changelog.
2.34.3
Fix: [VIEndpointDelegate endpoint:didRemoveRemoteVideoStream:] is invoked just after [VIEndpointDelegate endpoint:didAddRemoteVideoStream:] in a conference call in some cases.
[VICall setSendVideo:completion:] now behaves the same way for video conference and video call. The endpoints will receive [VIEndpointDelegate endpoint:didAddRemoteVideoStream:] or [VIEndpointDelegate endpoint:didRemoveRemoteVideoStream:] events if the method call is completed successfully.
2.34.2
Bugfix and stability improvements.
2.34.1
Fix: [VICall setSendVideo:completion:] may fail with VICallErrorCodeAlreadyInThisState error.
Fix: audio is lost after taking a call off hold from CallKit UI on the locked screen.
Bugfix and stability improvements.
2.34.0
Major update of AVAudioSession management and audio device detection:
- Restore AVAudioSessionCategory (used before a call) after the call ended.
- Audio device detection in AVAudioSessionCategory different from PlayAndRecord.
- Prevent audio route change event cycling.
Added VILoginErrorCodeMAUAccessDenied error code.
Bugfix and stability improvements.
Important notice. If the application uses CallKit, it is important to check the correctness of VIAudioManager API usage for CallKit integration. Specially, it is required to pay attention on (see example in AudioCallKit demo project):
- [VIAudioManager callKitConfigureAudioSession:] should be called before the call is reported to CXProvider.
- [VIAudioManager callKitReleaseAudioSession] should be called after the call has ended and CallKit has deactivated the audio session.
Known issues:
- It is not possible to select Receiver while a call is on hold and it is reported to CallKit.
- It is not possible to select Receiver before a call is connected, if a Bluetooth audio device is connected.
2.33.0
Support to share screen outside the application using broadcast upload extension and ReplayKit. See demo application.
Improvements for in-app screen sharing: rotate video frame based on the device orientation, video frame is scaled to 720p.
Bugfix and stability improvements.
2.32.1
Fixed the crash on audio route changing if VIClient is created not on the application start. Bug appeared in 2.31.0.
2.32.0
In-App screen sharing [VICall startInAppScreenSharing:] API.
2.31.1
Improve compatibility with Voximplant Web SDK for [VICall setSendVideo:completion:] API.
Bugfix and stability improvements.
2.31.0
Dependency update: VoxImplantWebRTC is updated to 78.2.1.
Change default camera resolution for video conference to 352x288. It does not affect default camera resolution for video calls, it stays the same - 640x480.
Change API for push token (un)registration. It is now possible to get the result of push token (un)registration via completion handler.
Deprecation of [VIClient registerPushNotificationsToken:imToken:] in favor:
- [VIClient registerVoIPPushNotificationsToken:completion:]
- [VIClient registerIMPushNotificationsToken:completion:]
Deprecation of [VIClient unregisterPushNotificationsToken:imToken:] in favor:
Add VIEndpoint.place property to get the position of the endpoint video stream in a video conference.
Fix: [VICall setSendVideo:completion:] did not enabled video in a video conference if video send was disabled on video conference creation.
Improved Swift API generation.
Improve audio device management.
Bugfix and stability improvements.
2.30.0
Added a new error code VICallErrorCodeCallEnded for the cases when mid-call operations could not be completed due to the call has ended.
Bugfix and stability improvements.
2.29.0
Dependency update: VoxImplantWebRTC is updated to 78.2.0.
Fix: no audio after enabling the microphone via VICall.sendAudio API, if it had been disabled before the call connected.
Bugfix and stability improvements.
2.28.0
Added [VIAudioFile initWithData:looped:] API to play downloaded data.
VIAudioFile.looped can be changed dynamically.
[VICall setSendVideo:completion:], [VICall startReceiveVideoWithCompletion:], [VICall setHold:completion:] are now failed with VICallErrorCodeIncorrectOperation if called when the call is not connected.
Fix: VIOutboundAudioStats.audioLevel was reported incorrectly.
Bugfix and stability improvements.
2.27.0
Introduce VIAudioFile API to play audio files.
Bugfix and stability improvements.
Dependency update: VoxImplantWebRTC is updated to 78.1.0.
2.26.1
Bugfix and stability improvements.
2.26.0
Dependency update: VoxImplantWebRTC is updated to 78.0.0.
Bugfix and stability improvements.
2.25.2
Fix: [VICall startReceiveVideoWithCompletion:] may fail with VICallErrorCodeTimeout error.
Bugfix and stability improvements.
2.25.1
Fix for H264 codec selection for outgoing video calls.
Bugfix and stability improvements.
2.25.0
Authentication parameters that may be used for login with access token are now provided via VIAuthParams class. It affects the following methods:
New delegate method [VIClientCallManagerDelegate client:pushDidExpire:] may be used to detect the expiration of a push notification for an incoming call.
Fix: video is not received after the another endpoint has started to send video.
2.24.0
Audio device management bugfix and stability improvements.
Min supported iOS version is changed to 9.0. iOS 8.0 is no more supported.
Dependency update: VoxImplantWebRTC is updated to 74.1.0
[VIClient registerPushNotificationsToken:imToken:] and [VIClient unregisterPushNotificationsToken:imToken:] now return the result as BOOL value.
VIMessengerDelegate methods are now optional.
2.23.0
Legacy API removal
2.22.0
API changes to improve CallKit integration:
- [VIClient handlePushNotification:] now returns UUID that can be used to report an incoming call to CallKit
- Introduced VICall.callKitUUID property to match VICall and CXCall instances.
2.21.4
Improvements for establishing the connection to the Voximplant Cloud
Fix: the connection to the Voximplant Cloud is not closed if a call was ended in the background
Bugfix and stability improvements
2.21.3
Dependency update: VoxImplantWebRTC is updated to 74.0.1
Improve VIQualityIssueTypePacketLoss issue detection
Bugfix and stability improvements
2.21.2
Fix a regression introduced in 2.21.0. VIQualityIssueDelegate methods were not invoked on [VICall qualityIssueDelegate]
2.21.1
Bugfix and stability improvements
2.21.0
Dependency update: VoxImplantWebRTC is updated to 74.0.0
Remove the following deprecated API:
- VIAudioManager.useLoudSpeaker
- VICall.preferredVideoCodec
- [VICall stopWithHeaders:]
- [VICall answerWithSendVideo:receiveVideo:customData:headers:]
- [VICall rejectWithHeaders:]
- [VIClient saveLogToFileEnable]
- [VIClient callToUser:withSendVideo:receiveVideo:customData:]
[VICall start] now ignored if the method is used to answer an incoming call
[VICall setSendVideo:completion:] API works properly in any combinations of the iOS SDK versions, but it wouldn’t trigger the following events during calls between Voximplant iOS SDK 2.21.0 (and higher) and Voximplant iOS SDK 2.20.7 (and below). These events will be triggered only if the iOS SDK version used is 2.21.0 and higher.
Fix: VIEndpointDelegate methods were not invoked on the delegate queue (specified on VIClient creation) for Voximplant iOS SDK events
[VICallDelegate call:didDisconnectWithHeaders:answeredElsewhere:] is now invoked before [VIClientSessionDelegate clientSessionDidDisconnect:] if a call is terminated due to network issues (connection lost)
VIConnectivityErrorCodeConnectionClosed is removed
Stability improvements
2.20.7
[VIClient call:settings:] and [VIClient callConference:settings:] now returns nil if number parameter is nil
Stability improvements
2.20.6
Fix for one-way media from iOS device after answering a video call via CallKit
2.20.5
Completion of the method [VIClient refreshTokenWithUser:token:result:] is not invoked if the connection to the Voximplant Cloud is not established
Fix for a rare crash that occurs while establishing the connection to the Voximplant Cloud
2.20.4
Improvement of [VIAudioManager availableAudioDevices] detection while third-party application is playing background audio
VIAudioManagerDelegate methods are now always invoked on the delegate queue
2.20.3
Bugfix and stability improvements
2.20.2
Improvement of multiple calls handling
2.20.1
Fix: completion block for [VIClient requestOneTimeKeyWithUser:result:] is not invoked if an invalid Voximplant user is provided
Stability improvements
2.20.0
Removal of the third-party dependencies
Introduce new call stats: [VICallStats localCandidateType] and [VICallStats remoteCandidateType]
VILogType is renamed to VILogSeverity
Bugfix and stability improvements
2.19.1
Fix for [VIClient handlePushNotification:] API does not process a push notification in some cases
2.19.0
New Messaging API
2.18.0
Introduce VIQualityIssueDelegate interface to monitor quality issues during a call
Introduce [VIOutboundVideoStats streamType] property
Improve AVAudioSession interruption handling
Stability improvements
2.17.0
Introduce new statistics provided by [VICallDelegate call:didReceiveStatistics:]
Object VICallStat, and stat properties of VICall and VIEndpoint are removed
Introduce timestamp property for VIConversationEvent and VIMessageEvent
Faster connection establishment to the Voximplant Cloud
2.16.1
Introduce VIConnectivityErrorCode, VICallErrorCode
Added human-readable reason for [VIClient loginWithUser:password:success:failure:], [VIClient loginWithUser:token:success:failure:] and [VIClient loginWithUser:oneTimeKey:success:failure:] completion block errors
Bugfix and stability improvements
2.16.0
Added error parameter to VIOneTimeKeyResult completion block
Reordered parameters of VIRefreshTokenResult completion block
[VICallDelegate call:didRemoveLocalVideoStream:], [VIEndpointDelegate endpoint:didRemoveRemoteVideoStream:] and [VIEndpointDelegate endpointDidRemove:] events are no more invoked on video call/conference end. All resources related to video streams should be released upon [VICallDelegate call:didDisconnectWithHeaders:answeredElsewhere:] event
Support to receive multiple video streams from the same endpoint (including screen sharing video stream). Introduce VIVideoStreamType to determine if video stream is of type "screen sharing" or not.
Improve AVAudioSession interruption handling
Fix for [VIEndpoint user] is not available while processing incoming call event
Bugfix and stability improvements
2.15.0
New API to start or answer a call: [VIClient call:settings:], [VICall start] and [VICall answerWithSettings:]
Introduce [VIClient callConference:settings:] API that creates call to a dedicated conference without proxy session
Fixed interruption of third party application audio on SDK initialization
Stability improvements
2.14.4
Dependency update: VoxImplantWebRTC is updated to 66.0.0
Improve video call quality
Fixed call statistics to calculate correct packet loss
[VIEndpoint remoteVideoStreams] property now returns only active video streams
Fix for [VICallDelegate call:didAddLocalVideoStream:] and [VICallDelegate call:didRemoveLocalVideoStream:] were invoked not on the main thread in case if VIClient is initialized with a custom delegateQueue
Stability improvements
2.14.3
Update of logging mechanism, allowing to separately capture Voximplant iOS SDK logs via CocoaLumberjack loggers
[DDLog addLogger:logger withLevel:DDLogLevelInfo | VILogLevelWarning];
2.14.2
Introduce [VIClient initWithDelegateQueue:bundleId:] constructor. You need to use this only if you are going to send push notifications across several iOS apps using a single Voximplant application
Update of iOS SDK toolchain to 11.4
2.14.1
Fix for a rare crash that occurs when connection unexpectedly dropped
2.14.0
Video conferences support. Introduce [VICallDelegate call:didAddEndpoint:], [VIEndpointDelegate endpointDidRemove:] and [VIEndpointDelegate endpointInfoDidUpdate:] events
Bugfix and stability improvements
2.13.2
Dependency update: CocoaLumberjack is updated to 3.4
Fix for AVAudioSession behavior handling on iOS 10.0
Stability improvements
2.13.1
Improvements in handling audio route changes made via CallKit
Fix for crash on VIClient connect API call when the app enters foreground
Stability improvements
2.13.0
Dependency update: VoxImplantWebRTC is updated to 63.0.0
[VICameraManager shouldMirrorFrontCamera] added to local preview
Introduce [VICameraManager iPhoneOrientationMask] api
Introduce [VIAudioManager selectAudioDevice:] api
Fix for sendVideo fail in video call with Firefox
Bugfix and stability improvements
2.12.0
Dependency update: VoxImplantWebRTC is updated to 62.1.0, pods now contain i386 arch support
Dependency to AFNetworking is removed
Introduce VIRejectMode to manage reject call behavior
Speaker can now be activated before a call
Bugfix and stability improvements
2.11.0
Dependency update: VoxImplantWebRTC is updated to 62.0.0
Fix for camera pre-processing delegate not being called
Introduce AudioSession [VIAudioManager callKitConfigureAudioSession] to provide better CallKit support (GitHub)
Changes in VoIP push notification payload structure. If you checking payload format before passing it onto Voximplant iOS SDK, you should check GitHub for reference.
2.10.0
Introduce [VIClient clientState] property to check current VIClient state
Introduce new login error codes: 408 (timeout) and 491 (invalid state) reported via completion handlers of login API
[VIClient connect] and [VIClient connectWithConnectivityCheck:gateways:] API return false in case if attempt to connect was performed in invalid state
[VIClient disconnect] API will always invoke [VIClientSessionDelegate clientSessionDidDisconnect:]
Fix for crash on starting video call on ios simulator
2.9.0
Fix for no audio issue when the video call is answered via CallKit in lock mode
Fixed background connection handling to improve stability of incoming call processing in background mode
Fix for camera being freezed during the call, improvements for camera stuff
Default capture resolution is 640x480 now
Bugfix and stability improvements
2.8.0
Dependency update: VoxImplantWebRTC is updated to 60.0.0
Fix for ios 8.0 support
Fix for inability to set custom video source for a call (issue was introduced in 2.7.0)
2.7.0
It is now possible to explicitly specify if video send/receive is required while initiating an outgoing call or accepting incoiming call. You can find related changes in the [[VIClient callToUser:withSendVideo:receiveVideo:customData:]] and [[VICall answerWithSendVideo:receiveVideo:customData:headers:]]. [[VICall startWithVideo:headers:]] is changed to [[VICall startWithHeaders:]]
Introduce new API: [[VICall startReceiveVideoWithCompletion]] to start receive video, if video receive was not enabled before.
Dependency change: Cocoalumberjack/Swift 3.2.0 is changed to Cocoalumberjack 3.2.0 to simplify iOS SDK integration to Objective-C projects
2.6.0
Messaging API
2.5.0
Introduce [VICallDelegate iceCompleteForCall:] and [VICallDelegate iceTimeoutForCall:] call events.
Add ability to set custom data on call answer
If call is on hold, using [VICall setSendVideo:completion:] will result in the MediaIsOnHold error(#10007) that is reported via the completion block.
2.4.1
Add new dependency - Cocoalumberjack/Swift 3.2.0, that adds ability to save logs to file
2.4.0
Introduce custom video source for alternative video frame source for a call
2.3.0
Experimental h.264 support can be enabled via the new API
2.2.2
Add ability to get call statistics
2.2.1
Bugfix for double connect call on push notification