@@ -375,22 +375,22 @@ - (void)updateConsent {
375375 NSNumber *adStorage = [self resolvedConsentForMappingKey: kMPFIRGAAdStorageKey
376376 defaultKey: kMPFIRGA4DefaultAdStorageKey
377377 gdprConsents: gdprConsents
378- mappingsConfig : mappingsConfig];
378+ mapping : mappingsConfig];
379379
380380 NSNumber *adUserData = [self resolvedConsentForMappingKey: kMPFIRGAAdUserDataKey
381381 defaultKey: kMPFIRGA4DefaultAdUserDataKey
382382 gdprConsents: gdprConsents
383- mappingsConfig : mappingsConfig];
383+ mapping : mappingsConfig];
384384
385385 NSNumber *analyticsStorage = [self resolvedConsentForMappingKey: kMPFIRGAAnalyticsStorageKey
386386 defaultKey: kMPFIRGA4DefaultAnalyticsStorageKey
387387 gdprConsents: gdprConsents
388- mappingsConfig : mappingsConfig];
388+ mapping : mappingsConfig];
389389
390390 NSNumber *adPersonalization = [self resolvedConsentForMappingKey: kMPFIRGAAdPersonalizationKey
391391 defaultKey: kMPFIRGA4DefaultAdPersonalizationKey
392392 gdprConsents: gdprConsents
393- mappingsConfig : mappingsConfig];
393+ mapping : mappingsConfig];
394394
395395 NSMutableDictionary *uploadDict = [NSMutableDictionary dictionary ];
396396
@@ -637,7 +637,7 @@ - (void)updateInstanceIDIntegration {
637637- (NSNumber * _Nullable)resolvedConsentForMappingKey : (NSString *)mappingKey
638638 defaultKey : (NSString *)defaultKey
639639 gdprConsents : (NSDictionary <NSString *, MPGDPRConsent *> *)gdprConsents
640- mappingsConfig : (NSDictionary <NSString *, NSString*> *) mapping {
640+ mapping : (NSDictionary <NSString *, NSString*> *) mapping {
641641
642642 // Prefer mParticle Consent if available
643643 NSString *purpose = mapping[mappingKey];
@@ -660,11 +660,20 @@ - (NSNumber * _Nullable)resolvedConsentForMappingKey:(NSString *)mappingKey
660660
661661- (NSArray <NSDictionary *>*)mappingForKey : (NSString *)key {
662662 NSString *mappingJson = _configuration[@" consentMappingSDK" ];
663- if ([mappingJson isKindOfClass: [NSString class ]]) {
664- NSData *jsonData = [mappingJson dataUsingEncoding: NSUTF8StringEncoding];
665- return [NSJSONSerialization JSONObjectWithData: jsonData options: 0 error: nil ];
663+ if (![mappingJson isKindOfClass: [NSString class ]]) {
664+ return nil ;
666665 }
667- return nil ;
666+
667+ NSData *jsonData = [mappingJson dataUsingEncoding: NSUTF8StringEncoding];
668+ NSError *error;
669+ NSArray *result = [NSJSONSerialization JSONObjectWithData: jsonData options: 0 error: &error];
670+
671+ if (error) {
672+ NSLog (@" Failed to parse consent mapping JSON: %@ " , error.localizedDescription );
673+ return nil ;
674+ }
675+
676+ return result;
668677}
669678
670679- (NSDictionary *)convertToKeyValuePairs : (NSArray <NSDictionary *>*) mappings {
0 commit comments