diff --git a/mParticle-Apple-SDK/Data Model/MPIntegrationAttributes.m b/mParticle-Apple-SDK/Data Model/MPIntegrationAttributes.m index c1b591869..e44dccb87 100644 --- a/mParticle-Apple-SDK/Data Model/MPIntegrationAttributes.m +++ b/mParticle-Apple-SDK/Data Model/MPIntegrationAttributes.m @@ -29,7 +29,7 @@ - (nonnull instancetype)initWithIntegrationId:(nonnull NSNumber *)integrationId self = [super init]; if (self) { _integrationId = integrationId; - _attributes = attributes; + _attributes = [attributes copy]; } return self; diff --git a/mParticle-Apple-SDK/mParticle.m b/mParticle-Apple-SDK/mParticle.m index 3159b4673..4a3971c1c 100644 --- a/mParticle-Apple-SDK/mParticle.m +++ b/mParticle-Apple-SDK/mParticle.m @@ -1273,13 +1273,15 @@ + (BOOL)registerExtension:(nonnull id)extension { #pragma mark Integration attributes - (nonnull MPKitExecStatus *)setIntegrationAttributes:(nonnull NSDictionary *)attributes forKit:(nonnull NSNumber *)integrationId { + NSDictionary *attributesCopy = [attributes copy]; __block MPKitReturnCode returnCode = MPKitReturnCodeSuccess; MPIntegrationAttributes *integrationAttributes = [[MPIntegrationAttributes alloc] initWithIntegrationId:integrationId attributes:attributes]; if (integrationAttributes) { [executor executeOnMessage: ^{ - [self.listenerController onAPICalled:_cmd parameter1:attributes parameter2:integrationId]; + + [self.listenerController onAPICalled:_cmd parameter1:attributesCopy parameter2:integrationId]; [[MParticle sharedInstance].persistenceController saveIntegrationAttributes:integrationAttributes]; }];