From 9dc81418654ed9b771148dab1809c3fc0bcb3e73 Mon Sep 17 00:00:00 2001 From: Denis Chilik Date: Wed, 29 Apr 2026 14:47:28 -0400 Subject: [PATCH] fix: defer AdobeMedia one-time init until launchAppId is available Guard the start path before dispatch_once so a missing launchAppId does not consume the one-time initialization block. This allows AdobeMedia initialization to run when configuration arrives later in the same process. --- mParticle-Adobe-Media/MPKitAdobeMedia.m | 26 ++++++++++++------------- 1 file changed, 13 insertions(+), 13 deletions(-) diff --git a/mParticle-Adobe-Media/MPKitAdobeMedia.m b/mParticle-Adobe-Media/MPKitAdobeMedia.m index ab3f81c..a808001 100644 --- a/mParticle-Adobe-Media/MPKitAdobeMedia.m +++ b/mParticle-Adobe-Media/MPKitAdobeMedia.m @@ -133,22 +133,22 @@ - (void)start { static dispatch_once_t kitPredicate; NSString *launchAppId = _configuration[launchAppIdKey]; + if (launchAppId == nil) { + NSLog(@"mParticle -> Adobe Media config wasn't received yet."); + return; + } dispatch_once(&kitPredicate, ^{ [AEPMobileCore setLogLevel:AEPLogLevelDebug]; - if (launchAppId != nil) { - [AEPMobileCore registerExtensions:@[AEPMobileAnalytics.class, AEPMobileMedia.class, AEPMobileUserProfile.class, AEPMobileSignal.class, AEPMobileLifecycle.class, AEPMobileIdentity.class] completion:^{ - [AEPMobileCore configureWithAppId:launchAppId]; - NSMutableDictionary* config = [NSMutableDictionary dictionary]; - self.defaultMediaTracker = [AEPMobileMedia createTrackerWithConfig:config]; - self.mediaTrackers = [[NSMutableDictionary> alloc] init]; - NSLog(@"mParticle -> Adobe Media configured"); - self.syncingId = NO; - [self syncId]; - }]; - } else { - NSLog(@"mParticle -> Adobe Media not configured"); - } + [AEPMobileCore registerExtensions:@[AEPMobileAnalytics.class, AEPMobileMedia.class, AEPMobileUserProfile.class, AEPMobileSignal.class, AEPMobileLifecycle.class, AEPMobileIdentity.class] completion:^{ + [AEPMobileCore configureWithAppId:launchAppId]; + NSMutableDictionary* config = [NSMutableDictionary dictionary]; + self.defaultMediaTracker = [AEPMobileMedia createTrackerWithConfig:config]; + self.mediaTrackers = [[NSMutableDictionary> alloc] init]; + NSLog(@"mParticle -> Adobe Media configured"); + self.syncingId = NO; + [self syncId]; + }]; self->_started = YES;