OpenTok.Net.iOS 2.34.1.2
Adds a second package and closes the last gap in the binding's coverage of the 2.34.1 headers. The
native SDK is unchanged at OTXCFramework 2.34.1.
New: OpenTok.Net.Transformers.iOS
Background blur, background replacement and audio noise suppression.
dotnet add package OpenTok.Net.Transformers.iOSOTVideoTransformer and OTAudioTransformer have been in OpenTok.Net.iOS all along — but the
implementations live in a separate native library Vonage ships as its own pod
(VonageClientSDKVideoTransformers → OpenTokTransformers.xcframework), which nothing shipped.
Constructing a transformer therefore compiled, linked, and then failed at runtime with
0x0A000006 — OTC_MEDIA_TRANSFORMER_OPENTOK_TRANSFORMERS_LIBRARY_NOT_LOADED
This package carries that framework. It has no managed API of its own and does not depend on the
binding — add it alongside, if you want the feature, for about 68 MB. See
src/OpenTok.Transformers.md for why it is separate, and why
it is the only project here with NoBindingEmbedding set (OpenTok.xcframework is a static
archive; this one is a dynamic framework).
The three TensorFlow Lite models it carries — selfie_segmentation.tflite, ns_model_1.tflite,
ns_model_2.tflite — are the ones that used to sit inside OpenTok.framework itself, which is why
the core package's payload roughly halved at SDK 2.3x.
Added: OTAudioSessionManager — CallKit
The only type in the 2.34.1 headers that was not bound. It is the protocol an app uses to hand
AVAudioSession control to CallKit:
var manager = OTAudioDeviceManager.CurrentAudioSessionManager;
manager?.EnableCallingServicesMode();
// ...then from CXProviderDelegate:
manager?.PreconfigureAudioSessionForCall(null);
manager?.AudioSessionDidActivate(session);
manager?.AudioSessionDidDeactivate(session);Reached through the new OTAudioDeviceManager.CurrentAudioSessionManager. The SDK's own default
audio device implements it, so CallKit integration no longer requires writing a custom
OTAudioDevice.
Without this, an app that lets both CallKit and the SDK manage the audio session gets the two
fighting: audio that does not start on answer, or that stops when a second call arrives.
Fixed: the device-tests project targeted iOS 13.0
Left behind by the 2.34.1 bump, which raised the binding itself to 15.0. Corrected to match.
CI: Release builds now verify native linking
Two new jobs, on pull requests only — a release re-runs nothing, because the tagged commit already
passed them on its own PR:
device-linkbuilds the sample in Release forios-arm64. Every other job here builds
Debug, which leaves the managed linker off and AOT unused, so none of them can notice a linker
that removed a type reachable only through the Objective-C runtime — which every[Model]
delegate subclass is. It also links the device slice, which nothing else does: the simulator
legs stay green through a package whose device slice was empty or built for the wrong minimum OS.
This is the shape of failure that let the previously published2.27.1.701ship without
Network,AccelerateandCoreFoundationin its framework list.transformers-linklinks the device tests against the transformers package and asserts
OpenTokTransformers.frameworkis inside the.appbundle. A dynamic framework that is
linked but not copied produces an app that launches and dies on first use with a dyld error.
Full changelog: v2.34.1.1...v2.34.1.2
Package
Bound against OTXCFramework 2.34.1 (CocoaPods trunk).
| Package | NuGet |
|---|---|
OpenTok.Net.iOS |
2.34.1.2 |