iOS SDK Releases
ECV 1.75 iOS SDK — Release Notes
1.2.0.208 — 28-07-2026
Fixed
- Torch/flashlight froze the call. Toggling the flashlight could freeze the capture session
(black or stuck video) on some iOS versions. The torch was driven through a separate
AVCaptureDeviceinstance of the same hardware while a virtual multi-cam device owned the session; it is now driven through the actively capturing camera whenever that camera has a torch. Most visible on iPhone Pro models, wherepreferMultiCamDeviceopens the virtual device. (de423288) - Audio stayed dead after an interruption. After an incoming phone call, Siri, or any other
system interruption, iOS deactivates the audio session and does not reactivate it — the call
continued with no audio in either direction. The SDK now reactivates the session itself when
the interruption ends. (
31622ea3) - Audio session delegate callbacks never fired. The
RTCAudioSessionDelegatemethods were declared with Swift signatures that did not match the underlying Objective-C selectors. Because the protocol methods are optional, they were silently never called, so route changes and interruptions went unobserved. Corrected — this is what makes the interruption recovery above possible, and route changes are now visible in the logs. (31622ea3)
Changed
- Bluetooth routing for earpiece calls. When not using the speakerphone, the audio session
mode is now
.voiceChatinstead of.default. This enables Apple's voice processing (echo cancellation, etc.) and makes iOS prefer the Bluetooth HFP route, fixing calls that stayed on the phone's earpiece while a Bluetooth headset was connected. (31622ea3) photoModeMaintainResolutionnow defaults tofalse(wastrue). Photo mode uses WebRTC's standard balanced degradation — on a poor connection both resolution and framerate may drop — instead of holding resolution and sacrificing framerate. Note this flip was committed as part of the 1.2.0.183 release commit but built after that binary, so 1.2.0.208 is the first release to ship it. (5b6b5a72)
1.2.0.183 — 17-07-2026
Added
-
Photo-mode video quality boost. While the agent has photo mode active (
TAKEPHOTO_ON) the outgoing stream switches to a higher resolution, and switches back onTAKEPHOTO_OFF. The camera is opened at a format large enough for the photo-mode resolution and the normal call is downscaled tovideoWidth×videoHeight, so there is no renegotiation or camera restart at the switch. NewConnectParameters: (9f43bad7,12edd3b2)Parameter Default Purpose photoModeVideoBoostEnabledtrueMaster switch; falserestores pre-boost behaviorphotoModeVideoWidth/photoModeVideoHeight1080/1440Resolution sent during photo mode; 0width disablesphotoModeVideoMaxBitrate0Max bitrate during photo mode; 0leaves it untouchedphotoModeMaintainResolutiontrueHold resolution and drop framerate on poor connections photoModeMinFps10Framerate floor before falling back to balanced degradation photoModeRecoverFps25Framerate at which maintain-resolution is retried Keep
photoModeVideoWidth×photoModeVideoHeightat the same aspect ratio asvideoWidth×videoHeight(both default to 3:4). -
preferMultiCamDevice(ConnectParameters, defaulttrue). Opens the back camera as the multi-lens virtual device (triple / dual-wide) when available so iOS can switch to the macro-capable lens for close subjects. Set tofalsefor the plain wide-angle back camera. (bb346080) -
autoFocusForDocumentCapture(ConnectParameters, defaulttrue). While photo mode is active, restricts the back camera's autofocus to the near range and disables smooth (video-style) focus, so focus locks quickly on a document lying on a table instead of hunting to the background. Reset when photo mode ends. (bb346080)
Fixed
- Blurry ID and document photos on iPhone Pro models. Their main camera cannot focus closer
than roughly 20 cm, and the SDK always selected it. With
preferMultiCamDevicethe system now switches to the macro-capable lens automatically. (bb346080)
Changed
- Faster signaling reconnection. The WebSocket reconnect backoff now starts at 100 ms instead
of 1000 ms, with a factor of 3.0 instead of 2.0 (max delay unchanged at 30 s). Brief network
drops recover noticeably faster. (
86592d3b)
1.2.0.33 — 27-03-2026
Fixed
- Dial requests rejected because of the caller name. The
Refererheader sent when dialing embeddeddialCallParameters.callerNameverbatim in the query string, so names containing spaces or special characters produced a malformed referrer and the request could be rejected. The header now uses a constant?user=iossdk. (a8a55772)
1.0.21.24 — 26-01-2026
Added
allowMultipleParallelCalls(ECVSdkConfiguration, defaultfalse). Whenfalse, starting a call hangs up any otherVideoCallon the same SDK instance that has not already hung up, preventing an abandoned call from holding the camera, microphone, and queue slot. Set totrueto keep the previous behavior. (22670d3e)VideoCall.didHangUp— public flag telling you a call has been hung up. Also used internally so the queue and wait-for-room loops exit immediately on hangup instead of running until their timeout. (22670d3e)
Fixed
- Remote mute commands honored on ECV 1.5 calls. The remote
VIDEO_MUTE/VIDEO_UNMUTE/AUDIO_MUTE/AUDIO_UNMUTEtext-channel commands are ECV 1.75-specific, but were being acted on for any call. They are now only handled when thertcIdis at least 32 characters, which identifies a 1.75 call. (This check is temporary and will be removed once ECV 1.5 is retired.) (821ea8a4)
1.0.20.0.60-e71dc8b3
- Improved remote audio-video muting/unmuting's backward compatibility
| File | Algorithm | Hash |
| SHA256 |
167571794e1023ee354f3bfcfa7a4174eaea67263a263b836aef4dea956bae1f |
1.0.19.142.5-8c33b978
- Improved the code to support iPhone 17 and above
| File | Algorithm | Hash |
| SHA256 |
4c0e4d9b5f897c52e5374aa253e089947a383be970b73abb01665d14015d33ef |
1.0.19.90.40-0c1268e8
- Changed Call attribute 'Mobile' to 'iOS'
- Added CameraSwitched event
Files
ECV175_iOS_SDK-1.0.19.90.40-0c1268e8.xcframework.zip
| File | Algorithm | Hash |
|
ECV175_iOS_SDK-1.0.19.90.40-0c1268e8.xcframework.zip |
SHA256 |
10650ce8dd1a74209cbef723eb1847c19726ef0f57dbb2707e073e0b7b53bdcc |
1.0.19.27-07a71ba7
- Supported dSYM inside .xcframework
Files
ECV175_iOS_SDK-1.0.19.27-07a71ba7.xcframework.zip
| File | Algorithm | Hash |
|
ECV175_iOS_SDK-1.0.19.27-07a71ba7.xcframework.zip |
SHA256 |
d7326cb654da587de1d13b39e57615a47660c90f4879bfb2a852737d20e150cf |
1.0.19.23-74fe0926
- Fixed (Physically not needed) WebRTC.xcframework inside ECV SDK (.xcframework Duplication issue solved)
Files
ECV175_iOS_SDK-1.0.19.23-74fe0926.xcframework.zip
| File | Algorithm | Hash |
|
ECV175_iOS_SDK-1.0.19.23-74fe0926.xcframework.zip |
SHA256 |
4ae2dfebfdb5aef8fdf9aa45b1f5dfb1148ce0e8f27d78c2771a5703db775780 |
1.0.18-113-gea4fd191
- Fixed local network permission prompt on call first connected.
Files
ECV175_iOS_SDK-1.0.18-113-gea4fd191.xcframework.zip
| File | Algorithm | Hash |
|
ECV175_iOS_SDK-1.0.18-113-gea4fd191.xcframework.zip |
SHA256 |
5bfeb67dced0955affb303fb1e4044447d74165017ad85cbda962c8b91208136 |
1.0.18-104-g4e528016
- Fixed
.StartHoldand.EndHoldevents not sent when connectParams.autoHandleHoldSideEffects is set to false.
Files
ECV175_iOS_SDK-1.0.18-104-g4e528016.xcframework.zip
| File | Algorithm | Hash |
| ECV175_iOS_SDK-1.0.18-104-g4e528016.xcframework.zip | SHA256 | 6b0741bfbd34eac23df2f012c18977ef52ed067cda23e587d5adf000d3a48887 |
Old Versions
1.0.18-77
ECV175_iOS_SDK-ing-1.0.18-77-g3ae1e69b.xcframework.zip
1.0.18-62
ECV175_iOS_SDK.iOS12-noCrash.xcframework.zip
1.0.18-42
Built with XCode 16.4 + Swift 5 + BUILD_LIBRARY_FOR_DISTRIBUTION=YES
ECV175_iOS_SDK.1.0.18-42-gfdf194ee.xcframework.zip
1.0.18-48
ECV175_iOS_SDK-1.0.18-48.xcframework.zip
Requirements
Minimum iOS 13.0M134 (WebRTC.xcframework)
No comments to display
No comments to display