Skip to content

Open Measurement as its own product: KontextKit + KontextKitOM (0.2.0) - #6

Merged
JakubMrozek merged 2 commits into
mainfrom
om-product
Oct 21, 2026
Merged

JakubMrozek merged 2 commits into
mainfrom
om-product

Conversation

@JakubMrozek

Copy link
Copy Markdown
Member

Why

Every consumer of KontextKit linked OMSDK_Kontextso.xcframework (2.3 MB) and took on the IAB OM licence, because the one target depended on the binary. sdk-swift-video uses nine providers and nothing from OM; nothing outside Sources/OMSDK/ referenced OM either, so the split is clean.

What

Two targets, two products:

product path holds
KontextKit Sources/KontextKit/ DeviceInfo, Privacy, StoreKit, UI, Utilities, PrivacyInfo.xcprivacy
KontextKitOM Sources/KontextKitOM/ OMManager, OMSession, OMPartner, OMCreativeType, omsdk-v1.js; depends on KontextKit and the OMSDK_Kontextso binary target

CocoaPods: subspecs KontextKit/Core (default) and KontextKit/OMSDK (vendored_frameworks, OMLICENSE preserved). pod lib lint passes.

KontextKitOM reads omsdk-v1.js from its own resource bundle (Bundle.module under SPM, KontextKitOM.bundle under CocoaPods) — the Bundle.module accessor is per target.

CI builds and tests the KontextKit-Package scheme, which covers both products. 166 tests pass locally.

Breaking (0.2.0)

Consumers that use OM add the second product and import KontextKitOM where OMManager & co. are used; CocoaPods consumers depend on KontextKit/OMSDK. import KontextKit still gives every provider and manager. sdk-swift PR follows; sdk-swift-video depends on KontextKit alone.

Release

After merge: tag 0.2.0, pod trunk push (trunk goes read-only on December 2, 2026 — this one should go out before then), then bump sdk-swift and sdk-swift-video.

🤖 Generated with Claude Code

…ubspecs Core + OMSDK); 0.2.0

Every consumer linked OMSDK_Kontextso.xcframework (2.3 MB) and took on the IAB OM
licence because the one target depended on the binary. Two targets and two
products now: KontextKit (Sources/KontextKit: DeviceInfo, Privacy, StoreKit, UI,
Utilities, the privacy manifest) and KontextKitOM (Sources/KontextKitOM: the OMID
wrappers and omsdk-v1.js, depending on KontextKit and the binary target). An SDK
that does not measure with OMID depends on KontextKit alone.

CocoaPods mirrors it with subspecs Core (default) and OMSDK. KontextKitOM reads
its script from its own resource bundle. CI builds and tests KontextKit-Package.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
… resource any more

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
@JakubMrozek
JakubMrozek merged commit 0a5983b into main Oct 21, 2026
2 checks passed
@JakubMrozek
JakubMrozek deleted the om-product branch October 21, 2026 17:57
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant