Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/build-and-lint.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ jobs:
run: find . -path '*.podspec' -exec perl -pi -e 's/.+\.social_media_url.+//' {} \;

- name: Lint with CocoaPods
run: pod lib lint --include-podspecs=mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec
run: pod lib lint mParticle-Apple-SDK.podspec --include-podspecs="{mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec,mParticle-Apple-SDK-ObjC.podspec,mParticle-Apple-SDK.podspec}"

- name: Undo twitter change to podspec
run: git checkout *.podspec
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/build-kits.yml
Original file line number Diff line number Diff line change
Expand Up @@ -43,14 +43,15 @@ jobs:
# TODO: Remove the sed bumps and --include-podspecs once mParticle-Apple-SDK v9.0
# is published to CocoaPods CDN.
sed -i '' 's/s\.version[[:space:]]*=.*/s.version = "9.0.0"/' mParticle-Apple-SDK.podspec
sed -i '' 's/s\.version[[:space:]]*=.*/s.version = "9.0.0"/' mParticle-Apple-SDK-ObjC.podspec
sed -i '' 's/s\.version[[:space:]]*=.*/s.version = "9.0.0"/' mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec

echo "Linting: ${{ matrix.kit.podspec }}"
for attempt in 1 2 3; do
pod lib lint "${{ matrix.kit.podspec }}" \
--allow-warnings \
--skip-import-validation \
--include-podspecs="{mParticle-Apple-SDK.podspec,mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec}" \
--include-podspecs="{mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec,mParticle-Apple-SDK-ObjC.podspec,mParticle-Apple-SDK.podspec}" \
&& break
[ $attempt -lt 3 ] && echo "Attempt $attempt failed, retrying in 60s..." && sleep 60 || exit 1
done
Expand Down
3 changes: 2 additions & 1 deletion .github/workflows/release-draft.yml
Original file line number Diff line number Diff line change
Expand Up @@ -71,6 +71,7 @@ jobs:
run: |
PODSPECS=(
"mParticle-Apple-SDK.podspec"
"mParticle-Apple-SDK-ObjC.podspec"
"mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec"
)
while IFS= read -r spec; do
Expand Down Expand Up @@ -119,14 +120,14 @@ jobs:
kits-path: Kits

# --- Commit, push, and create PR ---

- name: Commit version changes
run: |
git add \
CHANGELOG.md \
VERSION \
Framework/Info.plist \
mParticle-Apple-SDK.podspec \
mParticle-Apple-SDK-ObjC.podspec \
mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec \
mParticle-Apple-SDK/MPIConstants.m \
IntegrationTests/wiremock-recordings/mappings/*.json \
Expand Down
8 changes: 7 additions & 1 deletion .github/workflows/release-publish.yml
Original file line number Diff line number Diff line change
Expand Up @@ -93,7 +93,13 @@ jobs:
if: env.DRY_RUN != 'true'
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
run: pod trunk push mParticle-Apple-SDK.podspec --allow-warnings --synchronous
run: |
set -euo pipefail
PUSH_FLAGS=(--allow-warnings --synchronous)
# Order matters: Swift pod → ObjC core (depends on Swift) → umbrella Swift (depends on ObjC).
pod trunk push mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec "${PUSH_FLAGS[@]}"
pod trunk push mParticle-Apple-SDK-ObjC.podspec "${PUSH_FLAGS[@]}"
pod trunk push mParticle-Apple-SDK.podspec "${PUSH_FLAGS[@]}"

- name: Summary
run: |
Expand Down
7 changes: 4 additions & 3 deletions AGENTS.md
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ You are a senior iOS SDK engineer specializing in customer data platform (CDP) S
- Build: via Xcode scheme or `xcodebuild`.
- Run unit tests: `Rokt_WidgetTests/` or via Xcode (Command + U).
- Lint: `trunk check` (primary enforcement tool).
- Pod lint: `pod lib lint mParticle-Apple-SDK.podspec`.
- Pod lint: `pod lib lint mParticle-Apple-SDK.podspec --include-podspecs="{mParticle-Apple-SDK-Swift/mParticle-Apple-SDK-Swift.podspec,mParticle-Apple-SDK-ObjC.podspec,mParticle-Apple-SDK.podspec}"` (same as CI).
- Size report: Check binary size impact via CI workflow.
- Always validate changes with the full sequence in "Code style, quality, and validation" below before proposing or committing.

Expand Down Expand Up @@ -104,7 +104,8 @@ You are a senior iOS SDK engineer specializing in customer data platform (CDP) S
- `Scripts/` — Build, release, and utility scripts.
- `xcframework.sh`, `check_coverage.sh`.
- `Package.swift` — SPM manifest (swift-tools-version 5.5).
- `mParticle-Apple-SDK.podspec` — CocoaPods spec (v8.41.1).
- `mParticle-Apple-SDK.podspec` — CocoaPods umbrella (Swift sources; consumer-facing pod name `mParticle-Apple-SDK`).
- `mParticle-Apple-SDK-ObjC.podspec` — CocoaPods ObjC core (`mParticle-Apple-SDK-ObjC`).
- `PrivacyInfo.xcprivacy` — iOS privacy manifest.
- `ARCHITECTURE.md` — Architecture documentation with sequence diagrams.
- `CHANGELOG.md` — Release notes (extensive).
Expand All @@ -125,7 +126,7 @@ You are a senior iOS SDK engineer specializing in customer data platform (CDP) S
1. `trunk check` — to lint, format-check, and catch style/quality issues.
2. Build the SDK: via Xcode or `xcodebuild` for both iOS and tvOS.
3. Run unit tests: both Objective-C and Swift test suites in `UnitTests/`.
4. `pod lib lint mParticle-Apple-SDK.podspec` — verify CocoaPods spec is valid.
4. `pod lib lint` with `--include-podspecs` for Swift + ObjC + umbrella (see Quick Start) — verify CocoaPods specs.
5. If change affects code, assets, or dependencies: check coverage via `Scripts/check_coverage.sh`.
- Only propose / commit changes if all steps pass cleanly.
- If `trunk check` suggests auto-fixes, apply them first and re-validate.
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
@import mParticle_Apple_SDK;
#import <mParticle_Apple_SDK.h>
@import mParticle_Adjust;

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

extern NSString * _Nonnull const MPKitAdjustAttributionResultKey;
extern NSString * _Nonnull const MPKitAdjustErrorKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
#import "mParticle.h"
#import <mParticle_Apple_SDK.h>
#import "MPKitAdobe.h"

@interface AppDelegate ()
Expand Down
6 changes: 1 addition & 5 deletions Kits/adobe/adobe-5/Sources/mParticle-Adobe/MPIAdobe.m
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import "MPIAdobe.h"
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

NSString *const MPIAdobeErrorKey = @"MPIAdobeErrorKey";

Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

#pragma mark - MPIAdobeApi
@interface MPIAdobeApi : NSObject
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -178,6 +178,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
SDKROOT = iphoneos;
Expand All @@ -190,6 +191,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
SDKROOT = iphoneos;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
@import mParticle_Apple_SDK;
#import <mParticle_Apple_SDK.h>
@import mParticle_AppsFlyer;

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

extern NSString * _Nonnull const MPKitAppsFlyerConversionResultKey;
extern NSString * _Nonnull const MPKitAppsFlyerAppOpenResultKey;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
@import mParticle_Apple_SDK;
#import <mParticle_Apple_SDK.h>
@import mParticle_Apptentive;

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

@interface MPKitApptentive : NSObject <MPKitProtocol>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
@import mParticle_Apple_SDK;
#import <mParticle_Apple_SDK.h>
@import mParticle_Apptimize;

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

@interface MPKitApptimize : NSObject <MPKitProtocol>

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -172,6 +172,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
SDKROOT = iphoneos;
Expand All @@ -184,6 +185,7 @@
ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_NONNULL = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
IPHONEOS_DEPLOYMENT_TARGET = 15.6;
SDKROOT = iphoneos;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
@import mParticle_Apple_SDK;
#import <mParticle_Apple_SDK.h>
@import mParticle_BranchMetrics;

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

@interface MPKitBranchMetrics : NSObject <MPKitProtocol>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
#import "mParticle.h"
#import <mParticle_Apple_SDK.h>
#import "MPKitBraze.h"

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

#if defined(__has_include) && __has_include(<BrazeKit/BrazeKit-Swift.h>)
#import <BrazeKit/BrazeKit-Swift.h>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@import mParticle_Apple_SDK;
@import mParticle_Apple_SDK_ObjC;
@import mParticle_Braze;
@import XCTest;
@import OCMock;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
#import "mParticle.h"
#import <mParticle_Apple_SDK.h>
#import "MPKitBraze.h"

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

#if defined(__has_include) && __has_include(<BrazeKit/BrazeKit-Swift.h>)
#import <BrazeKit/BrazeKit-Swift.h>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@import mParticle_Apple_SDK;
@import mParticle_Apple_SDK_ObjC;
@import mParticle_Braze;
@import XCTest;
@import OCMock;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
#import "mParticle.h"
#import <mParticle_Apple_SDK.h>
#import "MPKitBraze.h"

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

#if defined(__has_include) && __has_include(<BrazeKit/BrazeKit-Swift.h>)
#import <BrazeKit/BrazeKit-Swift.h>
Expand Down
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
@import mParticle_Apple_SDK;
@import mParticle_Apple_SDK_ObjC;
@import mParticle_Braze;
@import XCTest;
@import OCMock;
Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
@import mParticle_Apple_SDK;
#import <mParticle_Apple_SDK.h>
@import mParticle_CleverTap;

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

@interface MPKitCleverTap : NSObject <MPKitProtocol>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
@import mParticle_Apple_SDK;
#import <mParticle_Apple_SDK.h>
@import mParticle_ComScore;

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import "MPKitComScore.h"
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;
#if defined(__has_include) && __has_include(<ComScore/ComScore.h>)
#import <ComScore/ComScore.h>
#else
Expand Down
Original file line number Diff line number Diff line change
@@ -1,9 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#else
#import "mParticle.h"
#endif
@import mParticle_Apple_SDK_ObjC;

@interface MPKitComScore : NSObject <MPKitProtocol>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#import "AppDelegate.h"
#import "mParticle.h"
#import <mParticle_Apple_SDK.h>
#import "MPKitFirebaseGA4Analytics.h"

@interface AppDelegate ()
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#import <mParticle_Apple_SDK/mParticle_Apple_SDK.h>
#else
#import "mParticle.h"
#import "mParticle_Apple_SDK.h"
#endif
#import "mParticle.h"
Comment thread
denischilik marked this conversation as resolved.

@interface MPKitFirebaseGA4Analytics : NSObject <MPKitProtocol>

Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,5 @@
#import <Foundation/Foundation.h>
#if defined(__has_include) && __has_include(<mParticle_Apple_SDK/mParticle.h>)
#import <mParticle_Apple_SDK/mParticle.h>
#import <mParticle_Apple_SDK/mParticle_Apple_SDK.h>
#else
#import "mParticle.h"
#import "mParticle_Apple_SDK.h"
#endif
#import "mParticle.h"

@interface MPKitFirebaseGA4Analytics : NSObject <MPKitProtocol>

Expand Down
Loading
Loading