What's changed
Fixes SFMCSdk.Identity.Edit crashing on .NET 10 - no native framework change, SFMCSDK stays
at 4.0.1.
Identity.Editnow works onnet10.0-ios26.0. TheeditWithIdentity:block was typed
with the abstract[Model]classSFIdentityModifier, which the .NET 10 managed static
registrar refuses to instantiate for the native modifier the block receives ("Cannot create an
instance of SFMCSDK.SFIdentityModifier because it is an abstract class"). The exported block is
now internal and typed with plainNSObject, and the public
Edit(Func<ISFIdentityModifier, ISFIdentityModifier>)wraps the native modifier in the
protocol wrapper, whose members call the native selectors on every band.- API change: the updater's parameter and return type are now the protocol interface
ISFIdentityModifierinstead of the model classSFIdentityModifier. Lambda-based callers -
SFMCSdk.Identity.Edit(modifier => { modifier.ProfileId = "…"; return modifier; })-
recompile unchanged. - The simulator smoke tests now round-trip a profile id through
Identity.Edit, on both the
net8.0-ios18.0andnet10.0-ios26.0legs.
Full changelog: v4.0.1.1...v4.0.1.2
Packages
Bound against sfmc-sdk-ios 4.0.1, targeting net8.0-ios18.0, net9.0-ios18.0 and net10.0-ios26.0.
The first three components of
4.0.1.2are the sfmc-sdk-ios version; the fourth is this
repository's binding revision, which advances when the bindings or packaging change while
the native binaries stay put.
| Package | Wraps | NuGet |
|---|---|---|
SFMCSDK.Net.iOS |
SFMCSDK |
4.0.1.2 |
dotnet add package SFMCSDK.Net.iOS --version 4.0.1.2
Licensing
The binding code is MIT; the bundled native binaries are BSD-3-Clause, as built and
published by Salesforce. Each package ships both texts under licenses/.