feat: rename podspecs to umbrella + ObjC core#733
Conversation
Made-with: Cursor
- Set mParticle-Apple-SDK pod module_name to mParticle_Apple_SDK_ObjC and mParticle-Apple-SDK-Umbrella to mParticle_Apple_SDK. - Replace __has_include mParticle_Apple_SDK/mParticle.h blocks with @import mParticle_Apple_SDK_ObjC in kit headers, sources, tests, and Obj-C SPM examples. Made-with: Cursor
Set CLANG_ENABLE_MODULES on mParticle-Apptimize and mParticle-Adobe project configs. Replace @import mParticle_Apple_SDK_ObjC in kit public headers with explicit umbrella imports so builds succeed when modules are disabled or for Firebase/GA4 kits that need mParticle_Apple_SDK.h. Made-with: Cursor
Revert bracket imports; keep using the ObjC module import with Clang modules enabled where configured (e.g. Apptimize, Adobe Xcode projects). Made-with: Cursor
Made-with: Cursor
- mParticle-Apple-SDK.podspec: Swift umbrella (public pod name unchanged) - mParticle-Apple-SDK-ObjC.podspec: ObjC core (replaces former root podspec) - Remove mParticle-Apple-SDK-Umbrella.podspec - Update release workflows, release.sh, AGENTS.md, and Xcode project refs Made-with: Cursor
PR SummaryMedium Risk Overview Updates build/release automation to match the new pod layout. CI pod lint steps now include all three podspecs, release drafting bumps the new ObjC podspec version, and publishing pushes podspecs in dependency order (Swift pod → ObjC core → umbrella). Aligns kits with the new module/import boundaries. Many kits’ ObjC headers/tests switch from conditional Reviewed by Cursor Bugbot for commit d2a4fa4. Bugbot is set up for automated code reviews on this repo. Configure here. |
📦 SDK Size Impact ReportMeasures how much the SDK adds to an app's size (with-SDK minus without-SDK).
➡️ SDK size impact change is minimal. Raw measurementsTarget branch (main): {"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1880,"with_sdk_executable_size_bytes":76312,"sdk_impact_kb":1796,"sdk_executable_impact_bytes":848,"xcframework_size_kb":6532}This PR: {"baseline_app_size_kb":84,"baseline_executable_size_bytes":75464,"with_sdk_app_size_kb":1880,"with_sdk_executable_size_bytes":76312,"sdk_impact_kb":1796,"sdk_executable_impact_bytes":848,"xcframework_size_kb":6532} |
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 26719cf. Configure here.
8838dac to
26719cf
Compare
* main: chore: remove stale Carthage and semantic-release artifacts (#730) # Conflicts: # Scripts/release.sh
d2a4fa4

Summary
Restructures CocoaPods so the public pod
mParticle-Apple-SDKmatches the Swift umbrella (same module as SPM productmParticle-Apple-SDK), and introducesmParticle-Apple-SDK-ObjCfor the ObjC core.Changes
mParticle-Apple-SDK.podspec: Swift umbrella sources; depends onmParticle-Apple-SDK-ObjC+ RoktContracts.mParticle-Apple-SDK-ObjC.podspec: ObjC core (former root podspec content);module_nameunchanged (mParticle_Apple_SDK_ObjC).mParticle-Apple-SDK-Umbrella.podspec(content folded into root podspec).Scripts/release.sh,AGENTS.md, and Xcode project references.Kit podspecs can keep depending on
mParticle-Apple-SDK; ObjC remains transitive.Made with Cursor