diff --git a/UnitTests/BracketTests.mm b/UnitTests/BracketTests.mm index a29b3cb67..66593487e 100644 --- a/UnitTests/BracketTests.mm +++ b/UnitTests/BracketTests.mm @@ -30,7 +30,7 @@ - (void)testBracket { } - (void)testBracketPointer { - shared_ptr bracket = make_shared(-(LONG_MAX - 271828182), 40, 41); + std::shared_ptr bracket = std::make_shared(-(LONG_MAX - 271828182), 40, 41); XCTAssertTrue(bracket->shouldForward(), @"Bracket should be forwarding."); bracket->low = 41; @@ -58,7 +58,7 @@ - (void)testMoveBracket { - (void)testBracketComparison { mParticle::Bracket bracket = makeBracket(); - shared_ptr bracketPtr = make_shared(-(LONG_MAX - 271828182), 40, 41); + std::shared_ptr bracketPtr = std::make_shared(-(LONG_MAX - 271828182), 40, 41); XCTAssertFalse(bracket == *bracketPtr, @"Brackets should have been different."); bracketPtr->mpId = LONG_MAX - 3141592; diff --git a/UnitTests/HasherTests.mm b/UnitTests/HasherTests.m similarity index 84% rename from UnitTests/HasherTests.mm rename to UnitTests/HasherTests.m index 5d6653e5d..139f3ef69 100644 --- a/UnitTests/HasherTests.mm +++ b/UnitTests/HasherTests.m @@ -1,5 +1,4 @@ #import -#import "MPHasher.h" #import "MPEnums.h" #import "MPEvent.h" #import "MPBaseTestCase.h" @@ -23,42 +22,48 @@ - (void)tearDown { - (void)testHashingString { NSString *referenceString = @"The Quick Brown Fox Jumps Over the Lazy Dog."; - NSString *hashedString = [NSString stringWithCString:mParticle::Hasher::hashString([[referenceString lowercaseString] cStringUsingEncoding:NSUTF8StringEncoding]).c_str() - encoding:NSUTF8StringEncoding]; + NSString *hashedString = [MPIHasher hashString:referenceString.lowercaseString]; XCTAssertEqualObjects(hashedString, @"-142870245", @"Hasher is not hashing strings properly."); referenceString = @""; - hashedString = [NSString stringWithCString:mParticle::Hasher::hashString([referenceString cStringUsingEncoding:NSUTF8StringEncoding]).c_str() - encoding:NSUTF8StringEncoding]; + hashedString = [MPIHasher hashString:referenceString]; XCTAssertEqualObjects(hashedString, @"", @"Hashing an empty string."); - - int hash = mParticle::Hasher::hashFromString(""); - XCTAssertEqual(hash, 0, @"Should have been equal."); - - std::string hashedEvent = mParticle::Hasher::hashEvent("Loaded screen", "Navigation"); - XCTAssertEqual(hashedEvent, "431828539", @"Should have been equal."); } - (void)testHashingPerformance { [self measureBlock:^{ NSString *referenceString = @"The Quick Brown Fox Jumps Over the Lazy Dog."; - mParticle::Hasher::hashString([referenceString cStringUsingEncoding:NSUTF8StringEncoding]); + [MPIHasher hashString:referenceString]; }]; } +- (NSArray *)hashedEventTypes:(NSArray *)eventTypes { + NSMutableArray *hashedTypes = [NSMutableArray arrayWithCapacity:eventTypes.count]; + if (eventTypes.count == 0) { + return hashedTypes; + } + + for (NSNumber *eventType in eventTypes) { + NSString *hashedEventType = [MPIHasher hashString:eventType.stringValue]; + [hashedTypes addObject:hashedEventType]; + } + return hashedTypes; +} + +- (NSArray *)hashedAllEventTypes { + NSMutableArray *eventTypes = [NSMutableArray arrayWithCapacity:22]; + for (int i = 0; i < 22; i++) { + [eventTypes addObject:@(i)]; + } + + NSArray *hashes = [self hashedEventTypes:eventTypes]; + return hashes; +} + - (void)testHashAllEventTypes { NSString *hashedEventType; - vector hashedAllEventTypes = mParticle::Hasher::hashedAllEventTypes(); - NSMutableArray *mHashedEventTypes = [[NSMutableArray alloc] initWithCapacity:hashedAllEventTypes.size()]; - - for_each(hashedAllEventTypes.begin(), hashedAllEventTypes.end(), - [&mHashedEventTypes](string str) { - NSString *nsstr = [NSString stringWithUTF8String:str.c_str()]; - [mHashedEventTypes addObject:nsstr]; - }); - - NSArray *hashedEventTypes = (NSArray *)mHashedEventTypes; + NSArray *hashedEventTypes = [self hashedAllEventTypes]; hashedEventType = hashedEventTypes[MPEventTypeNavigation]; XCTAssertEqualObjects(hashedEventType, @"49", @"Hashed event type navigation is incorrect."); @@ -86,21 +91,12 @@ - (void)testHashAllEventTypes { } - (void)testHashSomeEventTypes { - vector eventTypes; - vector hashedAllEventTypes = mParticle::Hasher::hashedEventTypes(eventTypes); - XCTAssertTrue(hashedAllEventTypes.empty(), @"Should have been empty."); - - eventTypes = {MPEventTypeNavigation, MPEventTypeTransaction, MPEventTypeOther}; - hashedAllEventTypes = mParticle::Hasher::hashedEventTypes(eventTypes); - NSMutableArray *mHashedEventTypes = [[NSMutableArray alloc] initWithCapacity:hashedAllEventTypes.size()]; + NSArray *eventTypes = [NSArray array]; + NSArray *hashedEventTypes = [self hashedEventTypes:eventTypes]; + XCTAssertTrue(hashedEventTypes.count == 0, @"Should have been empty."); - for_each(hashedAllEventTypes.begin(), hashedAllEventTypes.end(), - [&mHashedEventTypes](string str) { - NSString *nsstr = [NSString stringWithUTF8String:str.c_str()]; - [mHashedEventTypes addObject:nsstr]; - }); - - NSArray *hashedEventTypes = (NSArray *)mHashedEventTypes; + eventTypes = @[@(MPEventTypeNavigation), @(MPEventTypeTransaction), @(MPEventTypeOther)]; + hashedEventTypes = [self hashedEventTypes:eventTypes]; XCTAssertTrue([hashedEventTypes containsObject:@"49"], @"Not hashing event type navigation."); XCTAssertTrue([hashedEventTypes containsObject:@"52"], @"Not hashing event type transaction."); @@ -110,7 +106,7 @@ - (void)testHashSomeEventTypes { - (void)testRampHash { NSString *rampString = @"E1492888-3B7C-4FB2-98A5-6C483BF9EBEB"; NSData *rampData = [rampString dataUsingEncoding:NSUTF8StringEncoding]; - int64_t rampHash = mParticle::Hasher::hashFNV1a((const char *)[rampData bytes], (int)[rampData length]); + int64_t rampHash = [MPIHasher hashFNV1a:rampData]; XCTAssertEqual(rampHash, -1177587625323713153, @"Ramp hash is being calculated incorrectly."); } @@ -296,16 +292,16 @@ - (void)testHashEventType { } - (void)testHashEventName { - NSString *hashTestString = [MPIHasher hashEventName:MPEventTypeNavigation eventName:@"test" isLogScreen:false]; + NSString *hashTestString = [MPIHasher hashEventType:MPEventTypeNavigation eventName:@"test" isLogScreen:false]; XCTAssertEqualObjects(hashTestString, @"48809027", @"Should have been equal."); - hashTestString = [MPIHasher hashEventName:MPEventTypeNavigation eventName:@"test" isLogScreen:true]; + hashTestString = [MPIHasher hashEventType:MPEventTypeNavigation eventName:@"test" isLogScreen:true]; XCTAssertEqualObjects(hashTestString, @"47885506", @"Should have been equal."); - hashTestString = [MPIHasher hashEventName:MPEventTypeLocation eventName:@"test" isLogScreen:false]; + hashTestString = [MPIHasher hashEventType:MPEventTypeLocation eventName:@"test" isLogScreen:false]; XCTAssertEqualObjects(hashTestString, @"49732548", @"Should have been equal."); - hashTestString = [MPIHasher hashEventName:MPEventTypeLocation eventName:@"test" isLogScreen:true]; + hashTestString = [MPIHasher hashEventType:MPEventTypeLocation eventName:@"test" isLogScreen:true]; XCTAssertEqualObjects(hashTestString, @"47885506", @"Should have been equal."); } @@ -364,6 +360,11 @@ - (void)testHashCommerceEventAttribute { XCTAssertEqualObjects(hashTestString, @"-2075421981", @"Should have been equal."); } +- (void)testHashTriggerEvent { + NSString *hashedEvent = [MPIHasher hashTriggerEventName:@"Loaded screen" eventType:@"Navigation"]; + XCTAssertEqualObjects(hashedEvent, @"431828539", @"Should have been equal."); +} + - (void)testHashDifferences { // Creates a product object MPProduct *product = [[MPProduct alloc] initWithName:@"Awesome Book" sku:@"1234567890" quantity:@1 price:@9.99]; @@ -378,8 +379,8 @@ - (void)testHashDifferences { NSString *key = @"an_extra_key"; commerceEvent.customAttributes = @{key: @"an_extra_value"}; // A commerce event may contain custom key/value pairs - string attributeToHash = to_string([commerceEvent type]) + string([[key lowercaseString] cStringUsingEncoding:NSUTF8StringEncoding]); - int hashValueOldInt = mParticle::Hasher::hashFromString(attributeToHash); + NSString *attributeTohash = [[@(commerceEvent.type) stringValue] stringByAppendingString:key.lowercaseString]; + int hashValueOldInt = [[MPIHasher hashString:attributeTohash] intValue]; NSString *hashValueNewString = [MPIHasher hashCommerceEventAttribute:commerceEvent.type key:key]; XCTAssertEqual(hashValueOldInt, [hashValueNewString intValue], @"Should have been equal."); diff --git a/UnitTests/MPEventTests.mm b/UnitTests/MPEventTests.m similarity index 100% rename from UnitTests/MPEventTests.mm rename to UnitTests/MPEventTests.m diff --git a/UnitTests/MPStateMachineTests.mm b/UnitTests/MPStateMachineTests.m similarity index 88% rename from UnitTests/MPStateMachineTests.mm rename to UnitTests/MPStateMachineTests.m index eaaa6a6fa..28af198ea 100644 --- a/UnitTests/MPStateMachineTests.mm +++ b/UnitTests/MPStateMachineTests.m @@ -1,7 +1,7 @@ #import #import #import "MPStateMachine.h" -#import "MPHasher.h" +#import "MPIHasher.h" #import "MPConsumerInfo.h" #import "MPLaunchInfo.h" #import "MPBaseTestCase.h" @@ -67,11 +67,8 @@ - (void)testRamp { - (void)testConfigureTriggers { MPStateMachine *stateMachine = [MParticle sharedInstance].stateMachine; - NSString *hashEvent1 = [NSString stringWithCString:mParticle::Hasher::hashEvent([@"Button Tapped" cStringUsingEncoding:NSUTF8StringEncoding], [@"Transaction" cStringUsingEncoding:NSUTF8StringEncoding]).c_str() - encoding:NSUTF8StringEncoding]; - - NSString *hashEvent2 = [NSString stringWithCString:mParticle::Hasher::hashEvent([@"Post Liked" cStringUsingEncoding:NSUTF8StringEncoding], [@"Social" cStringUsingEncoding:NSUTF8StringEncoding]).c_str() - encoding:NSUTF8StringEncoding]; + NSString *hashEvent1 = [MPIHasher hashTriggerEventName:@"Button Tapped" eventType:@"Transaction"]; + NSString *hashEvent2 = [MPIHasher hashTriggerEventName:@"Post Liked" eventType:@"Social"]; NSDictionary *triggerDictionary = @{@"tri":@{@"dts":@[@"e", @"pm"], @"evts":@[hashEvent1, hashEvent2] @@ -95,11 +92,8 @@ - (void)testConfigureTriggers { - (void)testNullConfigureTriggers { MPStateMachine *stateMachine = [MParticle sharedInstance].stateMachine; - NSString *hashEvent1 = [NSString stringWithCString:mParticle::Hasher::hashEvent([@"Button Tapped" cStringUsingEncoding:NSUTF8StringEncoding], [@"Transaction" cStringUsingEncoding:NSUTF8StringEncoding]).c_str() - encoding:NSUTF8StringEncoding]; - - NSString *hashEvent2 = [NSString stringWithCString:mParticle::Hasher::hashEvent([@"Post Liked" cStringUsingEncoding:NSUTF8StringEncoding], [@"Social" cStringUsingEncoding:NSUTF8StringEncoding]).c_str() - encoding:NSUTF8StringEncoding]; + NSString *hashEvent1 = [MPIHasher hashTriggerEventName:@"Button Tapped" eventType:@"Transaction"]; + NSString *hashEvent2 = [MPIHasher hashTriggerEventName:@"Post Liked" eventType:@"Social"]; NSDictionary *triggerDictionary = @{@"tri":[NSNull null] }; diff --git a/UnitTests/MPZipTests.m b/UnitTests/MPZipTests.m index 1582d3dc1..9b3d23105 100644 --- a/UnitTests/MPZipTests.m +++ b/UnitTests/MPZipTests.m @@ -1,7 +1,7 @@ #import #import "MPBaseTestCase.h" #import "MPZip.h" -#include "zlib.h" +#import "zlib.h" @interface MPZipTestHelper : NSObject diff --git a/mParticle-Apple-SDK.xcodeproj/project.pbxproj b/mParticle-Apple-SDK.xcodeproj/project.pbxproj index d06e944e4..6379d737c 100644 --- a/mParticle-Apple-SDK.xcodeproj/project.pbxproj +++ b/mParticle-Apple-SDK.xcodeproj/project.pbxproj @@ -3,7 +3,7 @@ archiveVersion = 1; classes = { }; - objectVersion = 53; + objectVersion = 54; objects = { /* Begin PBXBuildFile section */ @@ -39,7 +39,7 @@ 534CD27F29CE2CE1008452B3 /* NSNumber+MPFormatterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CAB29CE019F00E7489F /* NSNumber+MPFormatterTests.m */; }; 534CD28029CE2CE1008452B3 /* MPResponseEventsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C8F29CE019F00E7489F /* MPResponseEventsTest.m */; }; 534CD28129CE2CE1008452B3 /* MPConsentStateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7929CE019E00E7489F /* MPConsentStateTests.m */; }; - 534CD28229CE2CE1008452B3 /* HasherTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CB729CE019F00E7489F /* HasherTests.mm */; }; + 534CD28229CE2CE1008452B3 /* HasherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CB729CE019F00E7489F /* HasherTests.m */; }; 534CD28329CE2CE1008452B3 /* MParticleWebViewTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C6929CE019E00E7489F /* MParticleWebViewTests.m */; }; 534CD28429CE2CE1008452B3 /* MPCustomModuleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CAA29CE019F00E7489F /* MPCustomModuleTests.m */; }; 534CD28529CE2CE1008452B3 /* MPNetworkOptionsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7829CE019E00E7489F /* MPNetworkOptionsTests.m */; }; @@ -47,14 +47,14 @@ 534CD28729CE2CE1008452B3 /* MPKitTestClassSideloaded.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C6B29CE019E00E7489F /* MPKitTestClassSideloaded.m */; }; 534CD28829CE2CE1008452B3 /* MPDeviceTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CAC29CE019F00E7489F /* MPDeviceTests.m */; }; 534CD28929CE2CE1008452B3 /* MPKitRegisterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CB629CE019F00E7489F /* MPKitRegisterTests.m */; }; - 534CD28A29CE2CE1008452B3 /* MPStateMachineTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9129CE019F00E7489F /* MPStateMachineTests.mm */; }; + 534CD28A29CE2CE1008452B3 /* MPStateMachineTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9129CE019F00E7489F /* MPStateMachineTests.m */; }; 534CD28B29CE2CE1008452B3 /* MPCCPAConsentTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C8C29CE019F00E7489F /* MPCCPAConsentTests.m */; }; 534CD28C29CE2CE1008452B3 /* MPIUserDefaultsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9929CE019F00E7489F /* MPIUserDefaultsTests.m */; }; 534CD28D29CE2CE1008452B3 /* MPUploadBuilderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C8129CE019E00E7489F /* MPUploadBuilderTests.m */; }; 534CD28E29CE2CE1008452B3 /* MPBaseTestCase.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CA229CE019F00E7489F /* MPBaseTestCase.m */; }; 534CD28F29CE2CE1008452B3 /* MPIdentityApiRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7229CE019E00E7489F /* MPIdentityApiRequestTests.m */; }; 534CD29029CE2CE1008452B3 /* MPKitAppsFlyerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9C29CE019F00E7489F /* MPKitAppsFlyerTest.m */; }; - 534CD29129CE2CE1008452B3 /* MPEventTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7B29CE019E00E7489F /* MPEventTests.mm */; }; + 534CD29129CE2CE1008452B3 /* MPEventTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7B29CE019E00E7489F /* MPEventTests.m */; }; 534CD29229CE2CE1008452B3 /* MPMessageBuilderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7629CE019E00E7489F /* MPMessageBuilderTests.m */; }; 534CD29329CE2CE1008452B3 /* MPKitTestClass.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7529CE019E00E7489F /* MPKitTestClass.m */; }; 534CD29429CE2CE1008452B3 /* MPKitContainerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C8B29CE019F00E7489F /* MPKitContainerTests.m */; }; @@ -76,7 +76,7 @@ 534CD2AC29CE2CF1008452B3 /* mParticle_Apple_SDK_NoLocation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53A79DC629CE23F700E7489F /* mParticle_Apple_SDK_NoLocation.framework */; }; 534CD2AD29CE2E8F008452B3 /* MPSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9229CE019F00E7489F /* MPSwiftTests.swift */; }; 53A79A8429CCCD6400E7489F /* mParticle_Apple_SDK.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 53A79A7929CCCD6400E7489F /* mParticle_Apple_SDK.framework */; }; - 53A79B6529CDFB2000E7489F /* MPIHasher.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9629CDFB1E00E7489F /* MPIHasher.mm */; }; + 53A79B6529CDFB2000E7489F /* MPIHasher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9629CDFB1E00E7489F /* MPIHasher.m */; }; 53A79B6629CDFB2000E7489F /* MPIdentityApiRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9829CDFB1E00E7489F /* MPIdentityApiRequest.m */; }; 53A79B6729CDFB2000E7489F /* MPAliasResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9929CDFB1E00E7489F /* MPAliasResponse.m */; }; 53A79B6829CDFB2000E7489F /* MParticleUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9A29CDFB1E00E7489F /* MParticleUser.m */; }; @@ -117,20 +117,20 @@ 53A79B8B29CDFB2000E7489F /* MPBreadcrumb.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC129CDFB1E00E7489F /* MPBreadcrumb.m */; }; 53A79B8C29CDFB2000E7489F /* MPDataModelProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AC229CDFB1E00E7489F /* MPDataModelProtocol.h */; }; 53A79B8D29CDFB2000E7489F /* MPSession.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AC329CDFB1E00E7489F /* MPSession.h */; }; - 53A79B8E29CDFB2000E7489F /* MPConsumerInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC429CDFB1E00E7489F /* MPConsumerInfo.mm */; }; + 53A79B8E29CDFB2000E7489F /* MPConsumerInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC429CDFB1E00E7489F /* MPConsumerInfo.m */; }; 53A79B8F29CDFB2000E7489F /* MPIntegrationAttributes.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AC529CDFB1E00E7489F /* MPIntegrationAttributes.h */; }; 53A79B9029CDFB2000E7489F /* MPDataModelAbstract.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC629CDFB1E00E7489F /* MPDataModelAbstract.m */; }; 53A79B9129CDFB2000E7489F /* MParticleUserNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC729CDFB1E00E7489F /* MParticleUserNotification.m */; }; 53A79B9229CDFB2000E7489F /* MPBreadcrumb.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AC829CDFB1E00E7489F /* MPBreadcrumb.h */; }; 53A79B9329CDFB2000E7489F /* MPUpload.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC929CDFB1E00E7489F /* MPUpload.m */; }; - 53A79B9429CDFB2000E7489F /* MPForwardRecord.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79ACA29CDFB1E00E7489F /* MPForwardRecord.mm */; }; + 53A79B9429CDFB2000E7489F /* MPForwardRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79ACA29CDFB1E00E7489F /* MPForwardRecord.m */; }; 53A79B9529CDFB2000E7489F /* MPMessage.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79ACB29CDFB1E00E7489F /* MPMessage.h */; }; 53A79B9629CDFB2000E7489F /* MPSession.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79ACC29CDFB1E00E7489F /* MPSession.m */; }; 53A79B9729CDFB2000E7489F /* MPIntegrationAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79ACD29CDFB1E00E7489F /* MPIntegrationAttributes.m */; }; 53A79B9829CDFB2000E7489F /* MPConsumerInfo.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79ACE29CDFB1F00E7489F /* MPConsumerInfo.h */; }; 53A79B9929CDFB2000E7489F /* MPIConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79ACF29CDFB1F00E7489F /* MPIConstants.h */; }; 53A79B9A29CDFB2000E7489F /* MPEnums.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AD029CDFB1F00E7489F /* MPEnums.m */; }; - 53A79BBD29CDFB2000E7489F /* MPBackendController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF429CDFB1F00E7489F /* MPBackendController.mm */; }; + 53A79BBD29CDFB2000E7489F /* MPBackendController.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF429CDFB1F00E7489F /* MPBackendController.m */; }; 53A79BBE29CDFB2000E7489F /* MPCCPAConsent.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF629CDFB1F00E7489F /* MPCCPAConsent.m */; }; 53A79BBF29CDFB2000E7489F /* MPConsentSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF729CDFB1F00E7489F /* MPConsentSerialization.m */; }; 53A79BC029CDFB2000E7489F /* MPConsentKitFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF829CDFB1F00E7489F /* MPConsentKitFilter.m */; }; @@ -140,23 +140,22 @@ 53A79BC429CDFB2000E7489F /* MPConsentKitFilter.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AFC29CDFB1F00E7489F /* MPConsentKitFilter.h */; }; 53A79BC529CDFB2000E7489F /* MParticleReachability.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AFF29CDFB1F00E7489F /* MParticleReachability.m */; }; 53A79BC629CDFB2000E7489F /* MParticleReachability.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B0029CDFB1F00E7489F /* MParticleReachability.h */; }; - 53A79BC729CDFB2000E7489F /* MPMessageBuilder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0229CDFB1F00E7489F /* MPMessageBuilder.mm */; }; - 53A79BC829CDFB2000E7489F /* MPStateMachine.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0329CDFB1F00E7489F /* MPStateMachine.mm */; }; + 53A79BC729CDFB2000E7489F /* MPMessageBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0229CDFB1F00E7489F /* MPMessageBuilder.m */; }; + 53A79BC829CDFB2000E7489F /* MPStateMachine.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0329CDFB1F00E7489F /* MPStateMachine.m */; }; 53A79BC929CDFB2000E7489F /* MPIUserDefaults.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B0429CDFB1F00E7489F /* MPIUserDefaults.h */; }; 53A79BCA29CDFB2000E7489F /* MPConvertJS.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0529CDFB1F00E7489F /* MPConvertJS.m */; }; 53A79BCB29CDFB2000E7489F /* MPStateMachine.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B0629CDFB1F00E7489F /* MPStateMachine.h */; }; 53A79BCC29CDFB2000E7489F /* NSArray+MPCaseInsensitive.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0729CDFB1F00E7489F /* NSArray+MPCaseInsensitive.m */; }; 53A79BCD29CDFB2000E7489F /* MPZip.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0829CDFB1F00E7489F /* MPZip.m */; }; 53A79BCE29CDFB2000E7489F /* NSDictionary+MPCaseInsensitive.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0929CDFB1F00E7489F /* NSDictionary+MPCaseInsensitive.m */; }; - 53A79BCF29CDFB2000E7489F /* MPResponseEvents.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0A29CDFB1F00E7489F /* MPResponseEvents.mm */; }; + 53A79BCF29CDFB2000E7489F /* MPResponseEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0A29CDFB1F00E7489F /* MPResponseEvents.m */; }; 53A79BD029CDFB2000E7489F /* MPDateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0B29CDFB1F00E7489F /* MPDateFormatter.m */; }; 53A79BD129CDFB2000E7489F /* MPResponseConfig.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B0C29CDFB1F00E7489F /* MPResponseConfig.h */; }; 53A79BD229CDFB2000E7489F /* MPApplication.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0D29CDFB1F00E7489F /* MPApplication.m */; }; 53A79BD329CDFB2000E7489F /* NSString+MPPercentEscape.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0E29CDFB1F00E7489F /* NSString+MPPercentEscape.m */; }; - 53A79BD429CDFB2000E7489F /* MPHasher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B0F29CDFB1F00E7489F /* MPHasher.h */; }; 53A79BD529CDFB2000E7489F /* MPResponseEvents.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B1029CDFB1F00E7489F /* MPResponseEvents.h */; }; 53A79BD629CDFB2000E7489F /* MPSearchAdsAttribution.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B1129CDFB1F00E7489F /* MPSearchAdsAttribution.h */; }; - 53A79BD729CDFB2000E7489F /* MPUploadBuilder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.mm */; }; + 53A79BD729CDFB2000E7489F /* MPUploadBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.m */; }; 53A79BD829CDFB2000E7489F /* MPArchivist.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1329CDFB1F00E7489F /* MPArchivist.m */; }; 53A79BD929CDFB2000E7489F /* MPUserIdentityChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1429CDFB1F00E7489F /* MPUserIdentityChange.m */; }; 53A79BDA29CDFB2000E7489F /* MPDevice.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1529CDFB1F00E7489F /* MPDevice.m */; }; @@ -168,7 +167,6 @@ 53A79BE129CDFB2000E7489F /* MPConvertJS.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B1C29CDFB1F00E7489F /* MPConvertJS.h */; }; 53A79BE229CDFB2000E7489F /* MPIUserDefaults.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1D29CDFB1F00E7489F /* MPIUserDefaults.m */; }; 53A79BE329CDFB2000E7489F /* MPBracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1E29CDFB1F00E7489F /* MPBracket.cpp */; }; - 53A79BE429CDFB2000E7489F /* MPHasher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1F29CDFB1F00E7489F /* MPHasher.cpp */; }; 53A79BE529CDFB2000E7489F /* MPResponseConfig.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2029CDFB1F00E7489F /* MPResponseConfig.m */; }; 53A79BE629CDFB2000E7489F /* MPArchivist.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B2129CDFB1F00E7489F /* MPArchivist.h */; }; 53A79BE729CDFB2000E7489F /* MPSearchAdsAttribution.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2229CDFB1F00E7489F /* MPSearchAdsAttribution.m */; }; @@ -187,25 +185,25 @@ 53A79BF529CDFB2000E7489F /* MPCustomModulePreference.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3129CDFB1F00E7489F /* MPCustomModulePreference.m */; }; 53A79BF629CDFB2000E7489F /* MPCustomModule.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3229CDFB1F00E7489F /* MPCustomModule.m */; }; 53A79BF729CDFB2000E7489F /* MPNotificationController.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B3429CDFB1F00E7489F /* MPNotificationController.h */; }; - 53A79BF829CDFB2000E7489F /* MPNotificationController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3529CDFB1F00E7489F /* MPNotificationController.mm */; }; + 53A79BF829CDFB2000E7489F /* MPNotificationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3529CDFB1F00E7489F /* MPNotificationController.m */; }; 53A79BF929CDFB2100E7489F /* mParticle.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3629CDFB1F00E7489F /* mParticle.m */; }; 53A79BFA29CDFB2100E7489F /* MPSurrogateAppDelegate.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B3829CDFB1F00E7489F /* MPSurrogateAppDelegate.h */; }; 53A79BFB29CDFB2100E7489F /* MPAppDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B3929CDFB1F00E7489F /* MPAppDelegateProxy.h */; }; 53A79BFC29CDFB2100E7489F /* MPSurrogateAppDelegate.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3A29CDFB1F00E7489F /* MPSurrogateAppDelegate.m */; }; 53A79BFD29CDFB2100E7489F /* MPAppDelegateProxy.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3B29CDFB1F00E7489F /* MPAppDelegateProxy.m */; }; 53A79BFE29CDFB2100E7489F /* MPAppNotificationHandler.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B3C29CDFB1F00E7489F /* MPAppNotificationHandler.h */; }; - 53A79BFF29CDFB2100E7489F /* MPAppNotificationHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3D29CDFB1F00E7489F /* MPAppNotificationHandler.mm */; }; + 53A79BFF29CDFB2100E7489F /* MPAppNotificationHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3D29CDFB1F00E7489F /* MPAppNotificationHandler.m */; }; 53A79C0029CDFB2100E7489F /* MPPromotion+Dictionary.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B3F29CDFB1F00E7489F /* MPPromotion+Dictionary.h */; }; 53A79C0129CDFB2100E7489F /* MPCommerceEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4029CDFB1F00E7489F /* MPCommerceEvent.mm */; }; - 53A79C0229CDFB2100E7489F /* MPPromotion.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4129CDFB1F00E7489F /* MPPromotion.mm */; }; - 53A79C0329CDFB2100E7489F /* MPProduct.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4229CDFB1F00E7489F /* MPProduct.mm */; }; + 53A79C0229CDFB2100E7489F /* MPPromotion.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4129CDFB1F00E7489F /* MPPromotion.m */; }; + 53A79C0329CDFB2100E7489F /* MPProduct.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4229CDFB1F00E7489F /* MPProduct.m */; }; 53A79C0429CDFB2100E7489F /* MPCommerceEventInstruction.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4329CDFB1F00E7489F /* MPCommerceEventInstruction.m */; }; 53A79C0529CDFB2100E7489F /* MPTransactionAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4429CDFB1F00E7489F /* MPTransactionAttributes.m */; }; 53A79C0629CDFB2100E7489F /* MPILogger.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B4629CDFB1F00E7489F /* MPILogger.h */; }; 53A79C0729CDFB2100E7489F /* MPBaseEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4829CDFB1F00E7489F /* MPBaseEvent.m */; }; 53A79C0829CDFB2100E7489F /* MPEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4929CDFB1F00E7489F /* MPEvent.m */; }; 53A79C0929CDFB2100E7489F /* MPDataPlanFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4B29CDFB1F00E7489F /* MPDataPlanFilter.m */; }; - 53A79C0A29CDFB2100E7489F /* MPKitRegister.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4C29CDFB1F00E7489F /* MPKitRegister.mm */; }; + 53A79C0A29CDFB2100E7489F /* MPKitRegister.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4C29CDFB1F00E7489F /* MPKitRegister.m */; }; 53A79C0B29CDFB2100E7489F /* MPKitExecStatus.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4D29CDFB1F00E7489F /* MPKitExecStatus.m */; }; 53A79C0C29CDFB2100E7489F /* MPAttributeProjection.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B4E29CDFB1F00E7489F /* MPAttributeProjection.h */; }; 53A79C0D29CDFB2100E7489F /* MPKitConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4F29CDFB1F00E7489F /* MPKitConfiguration.mm */; }; @@ -279,7 +277,7 @@ 53A79CC529CE019F00E7489F /* MPKitSecondTestClassNoStartImmediately.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7729CE019E00E7489F /* MPKitSecondTestClassNoStartImmediately.m */; }; 53A79CC629CE019F00E7489F /* MPNetworkOptionsTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7829CE019E00E7489F /* MPNetworkOptionsTests.m */; }; 53A79CC729CE019F00E7489F /* MPConsentStateTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7929CE019E00E7489F /* MPConsentStateTests.m */; }; - 53A79CC929CE019F00E7489F /* MPEventTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7B29CE019E00E7489F /* MPEventTests.mm */; }; + 53A79CC929CE019F00E7489F /* MPEventTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7B29CE019E00E7489F /* MPEventTests.m */; }; 53A79CCA29CE019F00E7489F /* MPKitTestClassNoStartImmediately.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7D29CE019E00E7489F /* MPKitTestClassNoStartImmediately.m */; }; 53A79CCB29CE019F00E7489F /* MPIdentityTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C7F29CE019E00E7489F /* MPIdentityTests.m */; }; 53A79CCC29CE019F00E7489F /* MPIntegrationAttributesTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C8029CE019E00E7489F /* MPIntegrationAttributesTest.m */; }; @@ -297,7 +295,7 @@ 53A79CD829CE019F00E7489F /* MParticleTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C8E29CE019F00E7489F /* MParticleTests.m */; }; 53A79CD929CE019F00E7489F /* MPResponseEventsTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C8F29CE019F00E7489F /* MPResponseEventsTest.m */; }; 53A79CDA29CE019F00E7489F /* MPDataPlanFilterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9029CE019F00E7489F /* MPDataPlanFilterTests.m */; }; - 53A79CDB29CE019F00E7489F /* MPStateMachineTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9129CE019F00E7489F /* MPStateMachineTests.mm */; }; + 53A79CDB29CE019F00E7489F /* MPStateMachineTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9129CE019F00E7489F /* MPStateMachineTests.m */; }; 53A79CDC29CE019F00E7489F /* MPSwiftTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9229CE019F00E7489F /* MPSwiftTests.swift */; }; 53A79CDD29CE019F00E7489F /* MPURLRequestBuilderTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9329CE019F00E7489F /* MPURLRequestBuilderTests.m */; }; 53A79CDE29CE019F00E7489F /* MPForwardQueueItemTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79C9529CE019F00E7489F /* MPForwardQueueItemTests.m */; }; @@ -325,7 +323,7 @@ 53A79CF429CE019F00E7489F /* MPAliasRequestTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CB129CE019F00E7489F /* MPAliasRequestTests.m */; }; 53A79CF729CE019F00E7489F /* MPAppNotificationHandlerTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CB529CE019F00E7489F /* MPAppNotificationHandlerTests.m */; }; 53A79CF829CE019F00E7489F /* MPKitRegisterTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CB629CE019F00E7489F /* MPKitRegisterTests.m */; }; - 53A79CF929CE019F00E7489F /* HasherTests.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CB729CE019F00E7489F /* HasherTests.mm */; }; + 53A79CF929CE019F00E7489F /* HasherTests.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79CB729CE019F00E7489F /* HasherTests.m */; }; 53A79CFD29CE048E00E7489F /* libsqlite3.tbd in Frameworks */ = {isa = PBXBuildFile; fileRef = 53A79CFB29CE046800E7489F /* libsqlite3.tbd */; }; 53A79D0229CE23F700E7489F /* mParticle.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79C2729CDFB4800E7489F /* mParticle.h */; settings = {ATTRIBUTES = (Public, ); }; }; 53A79D0329CE23F700E7489F /* FilteredMPIdentityApiRequest.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79C3C29CDFB4800E7489F /* FilteredMPIdentityApiRequest.h */; settings = {ATTRIBUTES = (Public, ); }; }; @@ -370,7 +368,6 @@ 53A79D2A29CE23F700E7489F /* MPAppDelegateProxy.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B3929CDFB1F00E7489F /* MPAppDelegateProxy.h */; }; 53A79D2B29CE23F700E7489F /* MParticleWebView.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B1629CDFB1F00E7489F /* MParticleWebView.h */; }; 53A79D2C29CE23F700E7489F /* MPIConstants.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79ACF29CDFB1F00E7489F /* MPIConstants.h */; }; - 53A79D2D29CE23F700E7489F /* MPHasher.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B0F29CDFB1F00E7489F /* MPHasher.h */; }; 53A79D2E29CE23F700E7489F /* MPBackendController.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AA329CDFB1E00E7489F /* MPBackendController.h */; }; 53A79D2F29CE23F700E7489F /* MPKitConfiguration.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79B5F29CDFB1F00E7489F /* MPKitConfiguration.h */; }; 53A79D3029CE23F700E7489F /* MPConnectorResponseProtocol.h in Headers */ = {isa = PBXBuildFile; fileRef = 53A79AAD29CDFB1E00E7489F /* MPConnectorResponseProtocol.h */; }; @@ -435,21 +432,21 @@ 53A79D6D29CE23F700E7489F /* MPCustomModulePreference.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3129CDFB1F00E7489F /* MPCustomModulePreference.m */; }; 53A79D6E29CE23F700E7489F /* FilteredMPIdentityApiRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9B29CDFB1E00E7489F /* FilteredMPIdentityApiRequest.m */; }; 53A79D6F29CE23F700E7489F /* mParticle.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3629CDFB1F00E7489F /* mParticle.m */; }; - 53A79D7029CE23F700E7489F /* MPProduct.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4229CDFB1F00E7489F /* MPProduct.mm */; }; + 53A79D7029CE23F700E7489F /* MPProduct.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4229CDFB1F00E7489F /* MPProduct.m */; }; 53A79D7129CE23F700E7489F /* MPPersistenceController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AB829CDFB1E00E7489F /* MPPersistenceController.mm */; }; 53A79D7329CE23F700E7489F /* FilteredMParticleUser.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9F29CDFB1E00E7489F /* FilteredMParticleUser.m */; }; 53A79D7429CE23F700E7489F /* MPBaseEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4829CDFB1F00E7489F /* MPBaseEvent.m */; }; 53A79D7529CE23F700E7489F /* MPAttributeProjection.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B5A29CDFB1F00E7489F /* MPAttributeProjection.m */; }; - 53A79D7629CE23F700E7489F /* MPConsumerInfo.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC429CDFB1E00E7489F /* MPConsumerInfo.mm */; }; + 53A79D7629CE23F700E7489F /* MPConsumerInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC429CDFB1E00E7489F /* MPConsumerInfo.m */; }; 53A79D7729CE23F700E7489F /* MPKitConfiguration.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4F29CDFB1F00E7489F /* MPKitConfiguration.mm */; }; 53A79D7829CE23F700E7489F /* MPConsentState.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF929CDFB1F00E7489F /* MPConsentState.m */; }; 53A79D7929CE23F700E7489F /* MPBracket.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1E29CDFB1F00E7489F /* MPBracket.cpp */; }; 53A79D7A29CE23F700E7489F /* MParticleUserNotification.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC729CDFB1E00E7489F /* MParticleUserNotification.m */; }; 53A79D7B29CE23F700E7489F /* MPIConstants.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B6429CDFB1F00E7489F /* MPIConstants.m */; }; 53A79D7C29CE23F700E7489F /* MPLaunchInfo.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2929CDFB1F00E7489F /* MPLaunchInfo.m */; }; - 53A79D7D29CE23F700E7489F /* MPPromotion.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4129CDFB1F00E7489F /* MPPromotion.mm */; }; + 53A79D7D29CE23F700E7489F /* MPPromotion.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4129CDFB1F00E7489F /* MPPromotion.m */; }; 53A79D7E29CE23F700E7489F /* MPSearchAdsAttribution.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2229CDFB1F00E7489F /* MPSearchAdsAttribution.m */; }; - 53A79D7F29CE23F700E7489F /* MPIHasher.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9629CDFB1E00E7489F /* MPIHasher.mm */; }; + 53A79D7F29CE23F700E7489F /* MPIHasher.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9629CDFB1E00E7489F /* MPIHasher.m */; }; 53A79D8129CE23F700E7489F /* MPIdentityApiRequest.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9829CDFB1E00E7489F /* MPIdentityApiRequest.m */; }; 53A79D8229CE23F700E7489F /* MPCommerceEvent.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4029CDFB1F00E7489F /* MPCommerceEvent.mm */; }; 53A79D8329CE23F700E7489F /* MPConsentSerialization.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF729CDFB1F00E7489F /* MPConsentSerialization.m */; }; @@ -467,8 +464,8 @@ 53A79D8F29CE23F700E7489F /* MPArchivist.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1329CDFB1F00E7489F /* MPArchivist.m */; }; 53A79D9029CE23F700E7489F /* MPDatabaseMigrationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AB929CDFB1E00E7489F /* MPDatabaseMigrationController.m */; }; 53A79D9129CE23F700E7489F /* MPConsentKitFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF829CDFB1F00E7489F /* MPConsentKitFilter.m */; }; - 53A79D9229CE23F700E7489F /* MPKitRegister.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4C29CDFB1F00E7489F /* MPKitRegister.mm */; }; - 53A79D9329CE23F700E7489F /* MPForwardRecord.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79ACA29CDFB1E00E7489F /* MPForwardRecord.mm */; }; + 53A79D9229CE23F700E7489F /* MPKitRegister.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4C29CDFB1F00E7489F /* MPKitRegister.m */; }; + 53A79D9329CE23F700E7489F /* MPForwardRecord.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79ACA29CDFB1E00E7489F /* MPForwardRecord.m */; }; 53A79D9429CE23F700E7489F /* MPConnector.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AAE29CDFB1E00E7489F /* MPConnector.m */; }; 53A79D9529CE23F700E7489F /* MPBreadcrumb.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC129CDFB1E00E7489F /* MPBreadcrumb.m */; }; 53A79D9629CE23F700E7489F /* MPEnums.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AD029CDFB1F00E7489F /* MPEnums.m */; }; @@ -487,28 +484,27 @@ 53A79DA329CE23F700E7489F /* MPURL.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AAA29CDFB1E00E7489F /* MPURL.m */; }; 53A79DA429CE23F700E7489F /* MPIdentityDTO.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9D29CDFB1E00E7489F /* MPIdentityDTO.m */; }; 53A79DA529CE23F700E7489F /* MPNetworkCommunication.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AA929CDFB1E00E7489F /* MPNetworkCommunication.m */; }; - 53A79DA629CE23F700E7489F /* MPMessageBuilder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0229CDFB1F00E7489F /* MPMessageBuilder.mm */; }; - 53A79DA729CE23F700E7489F /* MPStateMachine.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0329CDFB1F00E7489F /* MPStateMachine.mm */; }; + 53A79DA629CE23F700E7489F /* MPMessageBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0229CDFB1F00E7489F /* MPMessageBuilder.m */; }; + 53A79DA729CE23F700E7489F /* MPStateMachine.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0329CDFB1F00E7489F /* MPStateMachine.m */; }; 53A79DA829CE23F700E7489F /* MPKitAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B5C29CDFB1F00E7489F /* MPKitAPI.m */; }; - 53A79DA929CE23F700E7489F /* MPAppNotificationHandler.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3D29CDFB1F00E7489F /* MPAppNotificationHandler.mm */; }; - 53A79DAA29CE23F700E7489F /* MPNotificationController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3529CDFB1F00E7489F /* MPNotificationController.mm */; }; + 53A79DA929CE23F700E7489F /* MPAppNotificationHandler.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3D29CDFB1F00E7489F /* MPAppNotificationHandler.m */; }; + 53A79DAA29CE23F700E7489F /* MPNotificationController.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B3529CDFB1F00E7489F /* MPNotificationController.m */; }; 53A79DAB29CE23F700E7489F /* MPEvent.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4929CDFB1F00E7489F /* MPEvent.m */; }; 53A79DAC29CE23F700E7489F /* MPDateFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0B29CDFB1F00E7489F /* MPDateFormatter.m */; }; 53A79DAD29CE23F700E7489F /* MPAliasResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79A9929CDFB1E00E7489F /* MPAliasResponse.m */; }; 53A79DAE29CE23F700E7489F /* MPKitFilter.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B5429CDFB1F00E7489F /* MPKitFilter.m */; }; 53A79DAF29CE23F700E7489F /* MPURLConnectionAssociate.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AAC29CDFB1E00E7489F /* MPURLConnectionAssociate.m */; }; - 53A79DB029CE23F700E7489F /* MPResponseEvents.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0A29CDFB1F00E7489F /* MPResponseEvents.mm */; }; + 53A79DB029CE23F700E7489F /* MPResponseEvents.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B0A29CDFB1F00E7489F /* MPResponseEvents.m */; }; 53A79DB129CE23F700E7489F /* MPTransactionAttributes.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4429CDFB1F00E7489F /* MPTransactionAttributes.m */; }; 53A79DB229CE23F700E7489F /* MPGDPRConsent.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AFB29CDFB1F00E7489F /* MPGDPRConsent.m */; }; 53A79DB329CE23F700E7489F /* MPCommerceEventInstruction.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B4329CDFB1F00E7489F /* MPCommerceEventInstruction.m */; }; 53A79DB429CE23F700E7489F /* MPDataModelAbstract.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AC629CDFB1E00E7489F /* MPDataModelAbstract.m */; }; - 53A79DB529CE23F700E7489F /* MPBackendController.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF429CDFB1F00E7489F /* MPBackendController.mm */; }; + 53A79DB529CE23F700E7489F /* MPBackendController.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AF429CDFB1F00E7489F /* MPBackendController.m */; }; 53A79DB629CE23F700E7489F /* MPForwardQueueItem.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B5D29CDFB1F00E7489F /* MPForwardQueueItem.m */; }; 53A79DB729CE23F700E7489F /* MPEventProjection.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B5829CDFB1F00E7489F /* MPEventProjection.mm */; }; 53A79DB829CE23F700E7489F /* MPListenerController.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B6329CDFB1F00E7489F /* MPListenerController.m */; }; 53A79DB929CE23F700E7489F /* MPKitContainer.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B5029CDFB1F00E7489F /* MPKitContainer.mm */; }; - 53A79DBA29CE23F700E7489F /* MPUploadBuilder.mm in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.mm */; }; - 53A79DBB29CE23F700E7489F /* MPHasher.cpp in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1F29CDFB1F00E7489F /* MPHasher.cpp */; }; + 53A79DBA29CE23F700E7489F /* MPUploadBuilder.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.m */; }; 53A79DBC29CE23F700E7489F /* MPBaseProjection.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B5329CDFB1F00E7489F /* MPBaseProjection.m */; }; 53A79DBD29CE23F700E7489F /* MPLocationManager.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79AA629CDFB1E00E7489F /* MPLocationManager.m */; }; 53A79DBE29CE23F700E7489F /* MPUserAttributeChange.m in Sources */ = {isa = PBXBuildFile; fileRef = 53A79B2729CDFB1F00E7489F /* MPUserAttributeChange.m */; }; @@ -541,7 +537,7 @@ 534CD2AA29CE2CE1008452B3 /* mParticle-Apple-SDK-NoLocationTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mParticle-Apple-SDK-NoLocationTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; 53A79A7929CCCD6400E7489F /* mParticle_Apple_SDK.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = mParticle_Apple_SDK.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 53A79A8329CCCD6400E7489F /* mParticle-Apple-SDKTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = "mParticle-Apple-SDKTests.xctest"; sourceTree = BUILT_PRODUCTS_DIR; }; - 53A79A9629CDFB1E00E7489F /* MPIHasher.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPIHasher.mm; sourceTree = ""; }; + 53A79A9629CDFB1E00E7489F /* MPIHasher.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIHasher.m; sourceTree = ""; }; 53A79A9829CDFB1E00E7489F /* MPIdentityApiRequest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIdentityApiRequest.m; sourceTree = ""; }; 53A79A9929CDFB1E00E7489F /* MPAliasResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAliasResponse.m; sourceTree = ""; }; 53A79A9A29CDFB1E00E7489F /* MParticleUser.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MParticleUser.m; sourceTree = ""; }; @@ -582,20 +578,20 @@ 53A79AC129CDFB1E00E7489F /* MPBreadcrumb.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPBreadcrumb.m; sourceTree = ""; }; 53A79AC229CDFB1E00E7489F /* MPDataModelProtocol.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPDataModelProtocol.h; sourceTree = ""; }; 53A79AC329CDFB1E00E7489F /* MPSession.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSession.h; sourceTree = ""; }; - 53A79AC429CDFB1E00E7489F /* MPConsumerInfo.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPConsumerInfo.mm; sourceTree = ""; }; + 53A79AC429CDFB1E00E7489F /* MPConsumerInfo.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConsumerInfo.m; sourceTree = ""; }; 53A79AC529CDFB1E00E7489F /* MPIntegrationAttributes.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIntegrationAttributes.h; sourceTree = ""; }; 53A79AC629CDFB1E00E7489F /* MPDataModelAbstract.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDataModelAbstract.m; sourceTree = ""; }; 53A79AC729CDFB1E00E7489F /* MParticleUserNotification.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MParticleUserNotification.m; sourceTree = ""; }; 53A79AC829CDFB1E00E7489F /* MPBreadcrumb.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPBreadcrumb.h; sourceTree = ""; }; 53A79AC929CDFB1E00E7489F /* MPUpload.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUpload.m; sourceTree = ""; }; - 53A79ACA29CDFB1E00E7489F /* MPForwardRecord.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPForwardRecord.mm; sourceTree = ""; }; + 53A79ACA29CDFB1E00E7489F /* MPForwardRecord.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPForwardRecord.m; sourceTree = ""; }; 53A79ACB29CDFB1E00E7489F /* MPMessage.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPMessage.h; sourceTree = ""; }; 53A79ACC29CDFB1E00E7489F /* MPSession.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSession.m; sourceTree = ""; }; 53A79ACD29CDFB1E00E7489F /* MPIntegrationAttributes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIntegrationAttributes.m; sourceTree = ""; }; 53A79ACE29CDFB1F00E7489F /* MPConsumerInfo.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPConsumerInfo.h; sourceTree = ""; }; 53A79ACF29CDFB1F00E7489F /* MPIConstants.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIConstants.h; sourceTree = ""; }; 53A79AD029CDFB1F00E7489F /* MPEnums.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEnums.m; sourceTree = ""; }; - 53A79AF429CDFB1F00E7489F /* MPBackendController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPBackendController.mm; sourceTree = ""; }; + 53A79AF429CDFB1F00E7489F /* MPBackendController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPBackendController.m; sourceTree = ""; }; 53A79AF629CDFB1F00E7489F /* MPCCPAConsent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCCPAConsent.m; sourceTree = ""; }; 53A79AF729CDFB1F00E7489F /* MPConsentSerialization.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConsentSerialization.m; sourceTree = ""; }; 53A79AF829CDFB1F00E7489F /* MPConsentKitFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConsentKitFilter.m; sourceTree = ""; }; @@ -605,23 +601,22 @@ 53A79AFC29CDFB1F00E7489F /* MPConsentKitFilter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPConsentKitFilter.h; sourceTree = ""; }; 53A79AFF29CDFB1F00E7489F /* MParticleReachability.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MParticleReachability.m; sourceTree = ""; }; 53A79B0029CDFB1F00E7489F /* MParticleReachability.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MParticleReachability.h; sourceTree = ""; }; - 53A79B0229CDFB1F00E7489F /* MPMessageBuilder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPMessageBuilder.mm; sourceTree = ""; }; - 53A79B0329CDFB1F00E7489F /* MPStateMachine.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPStateMachine.mm; sourceTree = ""; }; + 53A79B0229CDFB1F00E7489F /* MPMessageBuilder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPMessageBuilder.m; sourceTree = ""; }; + 53A79B0329CDFB1F00E7489F /* MPStateMachine.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPStateMachine.m; sourceTree = ""; }; 53A79B0429CDFB1F00E7489F /* MPIUserDefaults.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPIUserDefaults.h; sourceTree = ""; }; 53A79B0529CDFB1F00E7489F /* MPConvertJS.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConvertJS.m; sourceTree = ""; }; 53A79B0629CDFB1F00E7489F /* MPStateMachine.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPStateMachine.h; sourceTree = ""; }; 53A79B0729CDFB1F00E7489F /* NSArray+MPCaseInsensitive.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSArray+MPCaseInsensitive.m"; sourceTree = ""; }; 53A79B0829CDFB1F00E7489F /* MPZip.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPZip.m; sourceTree = ""; }; 53A79B0929CDFB1F00E7489F /* NSDictionary+MPCaseInsensitive.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSDictionary+MPCaseInsensitive.m"; sourceTree = ""; }; - 53A79B0A29CDFB1F00E7489F /* MPResponseEvents.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPResponseEvents.mm; sourceTree = ""; }; + 53A79B0A29CDFB1F00E7489F /* MPResponseEvents.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPResponseEvents.m; sourceTree = ""; }; 53A79B0B29CDFB1F00E7489F /* MPDateFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDateFormatter.m; sourceTree = ""; }; 53A79B0C29CDFB1F00E7489F /* MPResponseConfig.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPResponseConfig.h; sourceTree = ""; }; 53A79B0D29CDFB1F00E7489F /* MPApplication.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPApplication.m; sourceTree = ""; }; 53A79B0E29CDFB1F00E7489F /* NSString+MPPercentEscape.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSString+MPPercentEscape.m"; sourceTree = ""; }; - 53A79B0F29CDFB1F00E7489F /* MPHasher.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPHasher.h; sourceTree = ""; }; 53A79B1029CDFB1F00E7489F /* MPResponseEvents.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPResponseEvents.h; sourceTree = ""; }; 53A79B1129CDFB1F00E7489F /* MPSearchAdsAttribution.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSearchAdsAttribution.h; sourceTree = ""; }; - 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPUploadBuilder.mm; sourceTree = ""; }; + 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUploadBuilder.m; sourceTree = ""; }; 53A79B1329CDFB1F00E7489F /* MPArchivist.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPArchivist.m; sourceTree = ""; }; 53A79B1429CDFB1F00E7489F /* MPUserIdentityChange.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPUserIdentityChange.m; sourceTree = ""; }; 53A79B1529CDFB1F00E7489F /* MPDevice.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDevice.m; sourceTree = ""; }; @@ -633,7 +628,6 @@ 53A79B1C29CDFB1F00E7489F /* MPConvertJS.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPConvertJS.h; sourceTree = ""; }; 53A79B1D29CDFB1F00E7489F /* MPIUserDefaults.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPIUserDefaults.m; sourceTree = ""; }; 53A79B1E29CDFB1F00E7489F /* MPBracket.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MPBracket.cpp; sourceTree = ""; }; - 53A79B1F29CDFB1F00E7489F /* MPHasher.cpp */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.cpp; path = MPHasher.cpp; sourceTree = ""; }; 53A79B2029CDFB1F00E7489F /* MPResponseConfig.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPResponseConfig.m; sourceTree = ""; }; 53A79B2129CDFB1F00E7489F /* MPArchivist.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPArchivist.h; sourceTree = ""; }; 53A79B2229CDFB1F00E7489F /* MPSearchAdsAttribution.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSearchAdsAttribution.m; sourceTree = ""; }; @@ -652,25 +646,25 @@ 53A79B3129CDFB1F00E7489F /* MPCustomModulePreference.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCustomModulePreference.m; sourceTree = ""; }; 53A79B3229CDFB1F00E7489F /* MPCustomModule.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCustomModule.m; sourceTree = ""; }; 53A79B3429CDFB1F00E7489F /* MPNotificationController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPNotificationController.h; sourceTree = ""; }; - 53A79B3529CDFB1F00E7489F /* MPNotificationController.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPNotificationController.mm; sourceTree = ""; }; + 53A79B3529CDFB1F00E7489F /* MPNotificationController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNotificationController.m; sourceTree = ""; }; 53A79B3629CDFB1F00E7489F /* mParticle.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = mParticle.m; sourceTree = ""; }; 53A79B3829CDFB1F00E7489F /* MPSurrogateAppDelegate.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPSurrogateAppDelegate.h; sourceTree = ""; }; 53A79B3929CDFB1F00E7489F /* MPAppDelegateProxy.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppDelegateProxy.h; sourceTree = ""; }; 53A79B3A29CDFB1F00E7489F /* MPSurrogateAppDelegate.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPSurrogateAppDelegate.m; sourceTree = ""; }; 53A79B3B29CDFB1F00E7489F /* MPAppDelegateProxy.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppDelegateProxy.m; sourceTree = ""; }; 53A79B3C29CDFB1F00E7489F /* MPAppNotificationHandler.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAppNotificationHandler.h; sourceTree = ""; }; - 53A79B3D29CDFB1F00E7489F /* MPAppNotificationHandler.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPAppNotificationHandler.mm; sourceTree = ""; }; + 53A79B3D29CDFB1F00E7489F /* MPAppNotificationHandler.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppNotificationHandler.m; sourceTree = ""; }; 53A79B3F29CDFB1F00E7489F /* MPPromotion+Dictionary.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPPromotion+Dictionary.h"; sourceTree = ""; }; 53A79B4029CDFB1F00E7489F /* MPCommerceEvent.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPCommerceEvent.mm; sourceTree = ""; }; - 53A79B4129CDFB1F00E7489F /* MPPromotion.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPPromotion.mm; sourceTree = ""; }; - 53A79B4229CDFB1F00E7489F /* MPProduct.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPProduct.mm; sourceTree = ""; }; + 53A79B4129CDFB1F00E7489F /* MPPromotion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPPromotion.m; sourceTree = ""; }; + 53A79B4229CDFB1F00E7489F /* MPProduct.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPProduct.m; sourceTree = ""; }; 53A79B4329CDFB1F00E7489F /* MPCommerceEventInstruction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPCommerceEventInstruction.m; sourceTree = ""; }; 53A79B4429CDFB1F00E7489F /* MPTransactionAttributes.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPTransactionAttributes.m; sourceTree = ""; }; 53A79B4629CDFB1F00E7489F /* MPILogger.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPILogger.h; sourceTree = ""; }; 53A79B4829CDFB1F00E7489F /* MPBaseEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPBaseEvent.m; sourceTree = ""; }; 53A79B4929CDFB1F00E7489F /* MPEvent.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEvent.m; sourceTree = ""; }; 53A79B4B29CDFB1F00E7489F /* MPDataPlanFilter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDataPlanFilter.m; sourceTree = ""; }; - 53A79B4C29CDFB1F00E7489F /* MPKitRegister.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPKitRegister.mm; sourceTree = ""; }; + 53A79B4C29CDFB1F00E7489F /* MPKitRegister.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKitRegister.m; sourceTree = ""; }; 53A79B4D29CDFB1F00E7489F /* MPKitExecStatus.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKitExecStatus.m; sourceTree = ""; }; 53A79B4E29CDFB1F00E7489F /* MPAttributeProjection.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPAttributeProjection.h; sourceTree = ""; }; 53A79B4F29CDFB1F00E7489F /* MPKitConfiguration.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPKitConfiguration.mm; sourceTree = ""; }; @@ -746,7 +740,7 @@ 53A79C7729CE019E00E7489F /* MPKitSecondTestClassNoStartImmediately.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKitSecondTestClassNoStartImmediately.m; sourceTree = ""; }; 53A79C7829CE019E00E7489F /* MPNetworkOptionsTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPNetworkOptionsTests.m; sourceTree = ""; }; 53A79C7929CE019E00E7489F /* MPConsentStateTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPConsentStateTests.m; sourceTree = ""; }; - 53A79C7B29CE019E00E7489F /* MPEventTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPEventTests.mm; sourceTree = ""; }; + 53A79C7B29CE019E00E7489F /* MPEventTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPEventTests.m; sourceTree = ""; }; 53A79C7C29CE019E00E7489F /* MPBaseTestCase.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPBaseTestCase.h; sourceTree = ""; }; 53A79C7D29CE019E00E7489F /* MPKitTestClassNoStartImmediately.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKitTestClassNoStartImmediately.m; sourceTree = ""; }; 53A79C7E29CE019E00E7489F /* MPNotificationController+Tests.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "MPNotificationController+Tests.h"; sourceTree = ""; }; @@ -766,7 +760,7 @@ 53A79C8E29CE019F00E7489F /* MParticleTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MParticleTests.m; sourceTree = ""; }; 53A79C8F29CE019F00E7489F /* MPResponseEventsTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPResponseEventsTest.m; sourceTree = ""; }; 53A79C9029CE019F00E7489F /* MPDataPlanFilterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPDataPlanFilterTests.m; sourceTree = ""; }; - 53A79C9129CE019F00E7489F /* MPStateMachineTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = MPStateMachineTests.mm; sourceTree = ""; }; + 53A79C9129CE019F00E7489F /* MPStateMachineTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPStateMachineTests.m; sourceTree = ""; }; 53A79C9229CE019F00E7489F /* MPSwiftTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MPSwiftTests.swift; sourceTree = ""; }; 53A79C9329CE019F00E7489F /* MPURLRequestBuilderTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPURLRequestBuilderTests.m; sourceTree = ""; }; 53A79C9429CE019F00E7489F /* MPKitSecondTestClass.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = MPKitSecondTestClass.h; sourceTree = ""; }; @@ -801,7 +795,7 @@ 53A79CB429CE019F00E7489F /* Info.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 53A79CB529CE019F00E7489F /* MPAppNotificationHandlerTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPAppNotificationHandlerTests.m; sourceTree = ""; }; 53A79CB629CE019F00E7489F /* MPKitRegisterTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = MPKitRegisterTests.m; sourceTree = ""; }; - 53A79CB729CE019F00E7489F /* HasherTests.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = HasherTests.mm; sourceTree = ""; }; + 53A79CB729CE019F00E7489F /* HasherTests.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = HasherTests.m; sourceTree = ""; }; 53A79CFB29CE046800E7489F /* libsqlite3.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libsqlite3.tbd; path = usr/lib/libsqlite3.tbd; sourceTree = SDKROOT; }; 53A79CFE29CE12AB00E7489F /* mParticle-Apple-SDK.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = "mParticle-Apple-SDK.modulemap"; path = "Framework/mParticle-Apple-SDK.modulemap"; sourceTree = ""; }; 53A79CFF29CE23D600E7489F /* mParticle-Apple-SDK-NoLocation.modulemap */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.module-map"; name = "mParticle-Apple-SDK-NoLocation.modulemap"; path = "Framework/mParticle-Apple-SDK-NoLocation.modulemap"; sourceTree = ""; }; @@ -878,7 +872,7 @@ 53A79C2229CDFB4800E7489F /* Include */, 53A79B3629CDFB1F00E7489F /* mParticle.m */, 53A79AA329CDFB1E00E7489F /* MPBackendController.h */, - 53A79AF429CDFB1F00E7489F /* MPBackendController.mm */, + 53A79AF429CDFB1F00E7489F /* MPBackendController.m */, 53A79AD029CDFB1F00E7489F /* MPEnums.m */, 53A79ACF29CDFB1F00E7489F /* MPIConstants.h */, 53A79B6429CDFB1F00E7489F /* MPIConstants.m */, @@ -973,13 +967,13 @@ 53A79AC129CDFB1E00E7489F /* MPBreadcrumb.m */, 53A79AC229CDFB1E00E7489F /* MPDataModelProtocol.h */, 53A79AC329CDFB1E00E7489F /* MPSession.h */, - 53A79AC429CDFB1E00E7489F /* MPConsumerInfo.mm */, + 53A79AC429CDFB1E00E7489F /* MPConsumerInfo.m */, 53A79AC529CDFB1E00E7489F /* MPIntegrationAttributes.h */, 53A79AC629CDFB1E00E7489F /* MPDataModelAbstract.m */, 53A79AC729CDFB1E00E7489F /* MParticleUserNotification.m */, 53A79AC829CDFB1E00E7489F /* MPBreadcrumb.h */, 53A79AC929CDFB1E00E7489F /* MPUpload.m */, - 53A79ACA29CDFB1E00E7489F /* MPForwardRecord.mm */, + 53A79ACA29CDFB1E00E7489F /* MPForwardRecord.m */, 53A79ACB29CDFB1E00E7489F /* MPMessage.h */, 53A79ACC29CDFB1E00E7489F /* MPSession.m */, 53A79ACD29CDFB1E00E7489F /* MPIntegrationAttributes.m */, @@ -1022,24 +1016,23 @@ 53A79B0129CDFB1F00E7489F /* Utils */ = { isa = PBXGroup; children = ( - 53A79A9629CDFB1E00E7489F /* MPIHasher.mm */, - 53A79B0229CDFB1F00E7489F /* MPMessageBuilder.mm */, - 53A79B0329CDFB1F00E7489F /* MPStateMachine.mm */, + 53A79A9629CDFB1E00E7489F /* MPIHasher.m */, + 53A79B0229CDFB1F00E7489F /* MPMessageBuilder.m */, + 53A79B0329CDFB1F00E7489F /* MPStateMachine.m */, 53A79B0429CDFB1F00E7489F /* MPIUserDefaults.h */, 53A79B0529CDFB1F00E7489F /* MPConvertJS.m */, 53A79B0629CDFB1F00E7489F /* MPStateMachine.h */, 53A79B0729CDFB1F00E7489F /* NSArray+MPCaseInsensitive.m */, 53A79B0829CDFB1F00E7489F /* MPZip.m */, 53A79B0929CDFB1F00E7489F /* NSDictionary+MPCaseInsensitive.m */, - 53A79B0A29CDFB1F00E7489F /* MPResponseEvents.mm */, + 53A79B0A29CDFB1F00E7489F /* MPResponseEvents.m */, 53A79B0B29CDFB1F00E7489F /* MPDateFormatter.m */, 53A79B0C29CDFB1F00E7489F /* MPResponseConfig.h */, 53A79B0D29CDFB1F00E7489F /* MPApplication.m */, 53A79B0E29CDFB1F00E7489F /* NSString+MPPercentEscape.m */, - 53A79B0F29CDFB1F00E7489F /* MPHasher.h */, 53A79B1029CDFB1F00E7489F /* MPResponseEvents.h */, 53A79B1129CDFB1F00E7489F /* MPSearchAdsAttribution.h */, - 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.mm */, + 53A79B1229CDFB1F00E7489F /* MPUploadBuilder.m */, 53A79B1329CDFB1F00E7489F /* MPArchivist.m */, 53A79B1429CDFB1F00E7489F /* MPUserIdentityChange.m */, 53A79B1529CDFB1F00E7489F /* MPDevice.m */, @@ -1051,7 +1044,6 @@ 53A79B1C29CDFB1F00E7489F /* MPConvertJS.h */, 53A79B1D29CDFB1F00E7489F /* MPIUserDefaults.m */, 53A79B1E29CDFB1F00E7489F /* MPBracket.cpp */, - 53A79B1F29CDFB1F00E7489F /* MPHasher.cpp */, 53A79B2029CDFB1F00E7489F /* MPResponseConfig.m */, 53A79B2129CDFB1F00E7489F /* MPArchivist.h */, 53A79B2229CDFB1F00E7489F /* MPSearchAdsAttribution.m */, @@ -1084,7 +1076,7 @@ isa = PBXGroup; children = ( 53A79B3429CDFB1F00E7489F /* MPNotificationController.h */, - 53A79B3529CDFB1F00E7489F /* MPNotificationController.mm */, + 53A79B3529CDFB1F00E7489F /* MPNotificationController.m */, ); path = Notifications; sourceTree = ""; @@ -1097,7 +1089,7 @@ 53A79B3A29CDFB1F00E7489F /* MPSurrogateAppDelegate.m */, 53A79B3B29CDFB1F00E7489F /* MPAppDelegateProxy.m */, 53A79B3C29CDFB1F00E7489F /* MPAppNotificationHandler.h */, - 53A79B3D29CDFB1F00E7489F /* MPAppNotificationHandler.mm */, + 53A79B3D29CDFB1F00E7489F /* MPAppNotificationHandler.m */, ); path = AppNotifications; sourceTree = ""; @@ -1107,8 +1099,8 @@ children = ( 53A79B3F29CDFB1F00E7489F /* MPPromotion+Dictionary.h */, 53A79B4029CDFB1F00E7489F /* MPCommerceEvent.mm */, - 53A79B4129CDFB1F00E7489F /* MPPromotion.mm */, - 53A79B4229CDFB1F00E7489F /* MPProduct.mm */, + 53A79B4129CDFB1F00E7489F /* MPPromotion.m */, + 53A79B4229CDFB1F00E7489F /* MPProduct.m */, 53A79B4329CDFB1F00E7489F /* MPCommerceEventInstruction.m */, 53A79B4429CDFB1F00E7489F /* MPTransactionAttributes.m */, ); @@ -1136,7 +1128,7 @@ isa = PBXGroup; children = ( 53A79B4B29CDFB1F00E7489F /* MPDataPlanFilter.m */, - 53A79B4C29CDFB1F00E7489F /* MPKitRegister.mm */, + 53A79B4C29CDFB1F00E7489F /* MPKitRegister.m */, 53A79B4D29CDFB1F00E7489F /* MPKitExecStatus.m */, 53A79B4E29CDFB1F00E7489F /* MPAttributeProjection.h */, 53A79B4F29CDFB1F00E7489F /* MPKitConfiguration.mm */, @@ -1239,7 +1231,7 @@ 53A79C7729CE019E00E7489F /* MPKitSecondTestClassNoStartImmediately.m */, 53A79C7829CE019E00E7489F /* MPNetworkOptionsTests.m */, 53A79C7929CE019E00E7489F /* MPConsentStateTests.m */, - 53A79C7B29CE019E00E7489F /* MPEventTests.mm */, + 53A79C7B29CE019E00E7489F /* MPEventTests.m */, 53A79C7C29CE019E00E7489F /* MPBaseTestCase.h */, 53A79C7D29CE019E00E7489F /* MPKitTestClassNoStartImmediately.m */, 53A79C7E29CE019E00E7489F /* MPNotificationController+Tests.h */, @@ -1258,7 +1250,7 @@ 53A79C8E29CE019F00E7489F /* MParticleTests.m */, 53A79C8F29CE019F00E7489F /* MPResponseEventsTest.m */, 53A79C9029CE019F00E7489F /* MPDataPlanFilterTests.m */, - 53A79C9129CE019F00E7489F /* MPStateMachineTests.mm */, + 53A79C9129CE019F00E7489F /* MPStateMachineTests.m */, 53A79C9329CE019F00E7489F /* MPURLRequestBuilderTests.m */, 53A79C9429CE019F00E7489F /* MPKitSecondTestClass.h */, 53A79C9529CE019F00E7489F /* MPForwardQueueItemTests.m */, @@ -1290,7 +1282,7 @@ 53A79CB129CE019F00E7489F /* MPAliasRequestTests.m */, 53A79CB529CE019F00E7489F /* MPAppNotificationHandlerTests.m */, 53A79CB629CE019F00E7489F /* MPKitRegisterTests.m */, - 53A79CB729CE019F00E7489F /* HasherTests.mm */, + 53A79CB729CE019F00E7489F /* HasherTests.m */, ); path = UnitTests; sourceTree = ""; @@ -1369,7 +1361,6 @@ 53A79BFB29CDFB2100E7489F /* MPAppDelegateProxy.h in Headers */, 53A79BDB29CDFB2000E7489F /* MParticleWebView.h in Headers */, 53A79B9929CDFB2000E7489F /* MPIConstants.h in Headers */, - 53A79BD429CDFB2000E7489F /* MPHasher.h in Headers */, 53A79B7129CDFB2000E7489F /* MPBackendController.h in Headers */, 53A79C1D29CDFB2100E7489F /* MPKitConfiguration.h in Headers */, 53A79B7929CDFB2000E7489F /* MPConnectorResponseProtocol.h in Headers */, @@ -1477,7 +1468,6 @@ 53A79D2A29CE23F700E7489F /* MPAppDelegateProxy.h in Headers */, 53A79D2B29CE23F700E7489F /* MParticleWebView.h in Headers */, 53A79D2C29CE23F700E7489F /* MPIConstants.h in Headers */, - 53A79D2D29CE23F700E7489F /* MPHasher.h in Headers */, 53A79D2E29CE23F700E7489F /* MPBackendController.h in Headers */, 53A79D2F29CE23F700E7489F /* MPKitConfiguration.h in Headers */, 53A79D3029CE23F700E7489F /* MPConnectorResponseProtocol.h in Headers */, @@ -1719,7 +1709,7 @@ 534CD27F29CE2CE1008452B3 /* NSNumber+MPFormatterTests.m in Sources */, 534CD28029CE2CE1008452B3 /* MPResponseEventsTest.m in Sources */, 534CD28129CE2CE1008452B3 /* MPConsentStateTests.m in Sources */, - 534CD28229CE2CE1008452B3 /* HasherTests.mm in Sources */, + 534CD28229CE2CE1008452B3 /* HasherTests.m in Sources */, 534CD28329CE2CE1008452B3 /* MParticleWebViewTests.m in Sources */, 534CD28429CE2CE1008452B3 /* MPCustomModuleTests.m in Sources */, 534CD28529CE2CE1008452B3 /* MPNetworkOptionsTests.m in Sources */, @@ -1727,14 +1717,14 @@ 534CD28729CE2CE1008452B3 /* MPKitTestClassSideloaded.m in Sources */, 534CD28829CE2CE1008452B3 /* MPDeviceTests.m in Sources */, 534CD28929CE2CE1008452B3 /* MPKitRegisterTests.m in Sources */, - 534CD28A29CE2CE1008452B3 /* MPStateMachineTests.mm in Sources */, + 534CD28A29CE2CE1008452B3 /* MPStateMachineTests.m in Sources */, 534CD28B29CE2CE1008452B3 /* MPCCPAConsentTests.m in Sources */, 534CD28C29CE2CE1008452B3 /* MPIUserDefaultsTests.m in Sources */, 534CD28D29CE2CE1008452B3 /* MPUploadBuilderTests.m in Sources */, 534CD28E29CE2CE1008452B3 /* MPBaseTestCase.m in Sources */, 534CD28F29CE2CE1008452B3 /* MPIdentityApiRequestTests.m in Sources */, 534CD29029CE2CE1008452B3 /* MPKitAppsFlyerTest.m in Sources */, - 534CD29129CE2CE1008452B3 /* MPEventTests.mm in Sources */, + 534CD29129CE2CE1008452B3 /* MPEventTests.m in Sources */, 534CD2AD29CE2E8F008452B3 /* MPSwiftTests.swift in Sources */, 534CD29229CE2CE1008452B3 /* MPMessageBuilderTests.m in Sources */, 534CD29329CE2CE1008452B3 /* MPKitTestClass.m in Sources */, @@ -1767,22 +1757,22 @@ 53A79BF529CDFB2000E7489F /* MPCustomModulePreference.m in Sources */, 53A79B6929CDFB2000E7489F /* FilteredMPIdentityApiRequest.m in Sources */, 53A79BF929CDFB2100E7489F /* mParticle.m in Sources */, - 53A79C0329CDFB2100E7489F /* MPProduct.mm in Sources */, + 53A79C0329CDFB2100E7489F /* MPProduct.m in Sources */, 53A79B8329CDFB2000E7489F /* MPPersistenceController.mm in Sources */, 53A79BEB29CDFB2000E7489F /* NSNumber+MPFormatter.swift in Sources */, 53A79B6D29CDFB2000E7489F /* FilteredMParticleUser.m in Sources */, 53A79C0729CDFB2100E7489F /* MPBaseEvent.m in Sources */, 53A79C1829CDFB2100E7489F /* MPAttributeProjection.m in Sources */, - 53A79B8E29CDFB2000E7489F /* MPConsumerInfo.mm in Sources */, + 53A79B8E29CDFB2000E7489F /* MPConsumerInfo.m in Sources */, 53A79C0D29CDFB2100E7489F /* MPKitConfiguration.mm in Sources */, 53A79BC129CDFB2000E7489F /* MPConsentState.m in Sources */, 53A79BE329CDFB2000E7489F /* MPBracket.cpp in Sources */, 53A79B9129CDFB2000E7489F /* MParticleUserNotification.m in Sources */, 53A79C2129CDFB2100E7489F /* MPIConstants.m in Sources */, 53A79BEE29CDFB2000E7489F /* MPLaunchInfo.m in Sources */, - 53A79C0229CDFB2100E7489F /* MPPromotion.mm in Sources */, + 53A79C0229CDFB2100E7489F /* MPPromotion.m in Sources */, 53A79BE729CDFB2000E7489F /* MPSearchAdsAttribution.m in Sources */, - 53A79B6529CDFB2000E7489F /* MPIHasher.mm in Sources */, + 53A79B6529CDFB2000E7489F /* MPIHasher.m in Sources */, 53A79B6629CDFB2000E7489F /* MPIdentityApiRequest.m in Sources */, 53A79C0129CDFB2100E7489F /* MPCommerceEvent.mm in Sources */, 53A79BBF29CDFB2000E7489F /* MPConsentSerialization.m in Sources */, @@ -1800,8 +1790,8 @@ 53A79BD829CDFB2000E7489F /* MPArchivist.m in Sources */, 53A79B8429CDFB2000E7489F /* MPDatabaseMigrationController.m in Sources */, 53A79BC029CDFB2000E7489F /* MPConsentKitFilter.m in Sources */, - 53A79C0A29CDFB2100E7489F /* MPKitRegister.mm in Sources */, - 53A79B9429CDFB2000E7489F /* MPForwardRecord.mm in Sources */, + 53A79C0A29CDFB2100E7489F /* MPKitRegister.m in Sources */, + 53A79B9429CDFB2000E7489F /* MPForwardRecord.m in Sources */, 53A79B7A29CDFB2000E7489F /* MPConnector.m in Sources */, 53A79B8B29CDFB2000E7489F /* MPBreadcrumb.m in Sources */, 53A79B9A29CDFB2000E7489F /* MPEnums.m in Sources */, @@ -1821,28 +1811,27 @@ 53A79B7629CDFB2000E7489F /* MPURL.m in Sources */, 53A79B6B29CDFB2000E7489F /* MPIdentityDTO.m in Sources */, 53A79B7529CDFB2000E7489F /* MPNetworkCommunication.m in Sources */, - 53A79BC729CDFB2000E7489F /* MPMessageBuilder.mm in Sources */, - 53A79BC829CDFB2000E7489F /* MPStateMachine.mm in Sources */, + 53A79BC729CDFB2000E7489F /* MPMessageBuilder.m in Sources */, + 53A79BC829CDFB2000E7489F /* MPStateMachine.m in Sources */, 53A79C1A29CDFB2100E7489F /* MPKitAPI.m in Sources */, - 53A79BFF29CDFB2100E7489F /* MPAppNotificationHandler.mm in Sources */, - 53A79BF829CDFB2000E7489F /* MPNotificationController.mm in Sources */, + 53A79BFF29CDFB2100E7489F /* MPAppNotificationHandler.m in Sources */, + 53A79BF829CDFB2000E7489F /* MPNotificationController.m in Sources */, 53A79C0829CDFB2100E7489F /* MPEvent.m in Sources */, 53A79BD029CDFB2000E7489F /* MPDateFormatter.m in Sources */, 53A79B6729CDFB2000E7489F /* MPAliasResponse.m in Sources */, 53A79C1229CDFB2100E7489F /* MPKitFilter.m in Sources */, 53A79B7829CDFB2000E7489F /* MPURLConnectionAssociate.m in Sources */, - 53A79BCF29CDFB2000E7489F /* MPResponseEvents.mm in Sources */, + 53A79BCF29CDFB2000E7489F /* MPResponseEvents.m in Sources */, 53A79C0529CDFB2100E7489F /* MPTransactionAttributes.m in Sources */, 53A79BC329CDFB2000E7489F /* MPGDPRConsent.m in Sources */, 53A79C0429CDFB2100E7489F /* MPCommerceEventInstruction.m in Sources */, 53A79B9029CDFB2000E7489F /* MPDataModelAbstract.m in Sources */, - 53A79BBD29CDFB2000E7489F /* MPBackendController.mm in Sources */, + 53A79BBD29CDFB2000E7489F /* MPBackendController.m in Sources */, 53A79C1B29CDFB2100E7489F /* MPForwardQueueItem.m in Sources */, 53A79C1629CDFB2100E7489F /* MPEventProjection.mm in Sources */, 53A79C2029CDFB2100E7489F /* MPListenerController.m in Sources */, 53A79C0E29CDFB2100E7489F /* MPKitContainer.mm in Sources */, - 53A79BD729CDFB2000E7489F /* MPUploadBuilder.mm in Sources */, - 53A79BE429CDFB2000E7489F /* MPHasher.cpp in Sources */, + 53A79BD729CDFB2000E7489F /* MPUploadBuilder.m in Sources */, 53A79C1129CDFB2100E7489F /* MPBaseProjection.m in Sources */, 53A79B7329CDFB2000E7489F /* MPLocationManager.m in Sources */, 53A79BEC29CDFB2000E7489F /* MPUserAttributeChange.m in Sources */, @@ -1884,7 +1873,7 @@ 53A79CEE29CE019F00E7489F /* NSNumber+MPFormatterTests.m in Sources */, 53A79CD929CE019F00E7489F /* MPResponseEventsTest.m in Sources */, 53A79CC729CE019F00E7489F /* MPConsentStateTests.m in Sources */, - 53A79CF929CE019F00E7489F /* HasherTests.mm in Sources */, + 53A79CF929CE019F00E7489F /* HasherTests.m in Sources */, 53A79CB929CE019F00E7489F /* MParticleWebViewTests.m in Sources */, 53A79CED29CE019F00E7489F /* MPCustomModuleTests.m in Sources */, 53A79CC629CE019F00E7489F /* MPNetworkOptionsTests.m in Sources */, @@ -1892,14 +1881,14 @@ 53A79CBA29CE019F00E7489F /* MPKitTestClassSideloaded.m in Sources */, 53A79CEF29CE019F00E7489F /* MPDeviceTests.m in Sources */, 53A79CF829CE019F00E7489F /* MPKitRegisterTests.m in Sources */, - 53A79CDB29CE019F00E7489F /* MPStateMachineTests.mm in Sources */, + 53A79CDB29CE019F00E7489F /* MPStateMachineTests.m in Sources */, 53A79CD629CE019F00E7489F /* MPCCPAConsentTests.m in Sources */, 53A79CE129CE019F00E7489F /* MPIUserDefaultsTests.m in Sources */, 53A79CCD29CE019F00E7489F /* MPUploadBuilderTests.m in Sources */, 53A79CE829CE019F00E7489F /* MPBaseTestCase.m in Sources */, 53A79CC029CE019F00E7489F /* MPIdentityApiRequestTests.m in Sources */, 53A79CE329CE019F00E7489F /* MPKitAppsFlyerTest.m in Sources */, - 53A79CC929CE019F00E7489F /* MPEventTests.mm in Sources */, + 53A79CC929CE019F00E7489F /* MPEventTests.m in Sources */, 53A79CC429CE019F00E7489F /* MPMessageBuilderTests.m in Sources */, 53A79CC329CE019F00E7489F /* MPKitTestClass.m in Sources */, 53A79CD529CE019F00E7489F /* MPKitContainerTests.m in Sources */, @@ -1931,22 +1920,22 @@ 53A79D6D29CE23F700E7489F /* MPCustomModulePreference.m in Sources */, 53A79D6E29CE23F700E7489F /* FilteredMPIdentityApiRequest.m in Sources */, 53A79D6F29CE23F700E7489F /* mParticle.m in Sources */, - 53A79D7029CE23F700E7489F /* MPProduct.mm in Sources */, + 53A79D7029CE23F700E7489F /* MPProduct.m in Sources */, 53A79D7129CE23F700E7489F /* MPPersistenceController.mm in Sources */, 53A79D7329CE23F700E7489F /* FilteredMParticleUser.m in Sources */, 53A79D7429CE23F700E7489F /* MPBaseEvent.m in Sources */, 53A79D7529CE23F700E7489F /* MPAttributeProjection.m in Sources */, - 53A79D7629CE23F700E7489F /* MPConsumerInfo.mm in Sources */, + 53A79D7629CE23F700E7489F /* MPConsumerInfo.m in Sources */, 53A79D7729CE23F700E7489F /* MPKitConfiguration.mm in Sources */, 53A79D7829CE23F700E7489F /* MPConsentState.m in Sources */, 53A79D7929CE23F700E7489F /* MPBracket.cpp in Sources */, 53A79D7A29CE23F700E7489F /* MParticleUserNotification.m in Sources */, 53A79D7B29CE23F700E7489F /* MPIConstants.m in Sources */, 53A79D7C29CE23F700E7489F /* MPLaunchInfo.m in Sources */, - 53A79D7D29CE23F700E7489F /* MPPromotion.mm in Sources */, + 53A79D7D29CE23F700E7489F /* MPPromotion.m in Sources */, 534CD25C29CE2877008452B3 /* NSNumber+MPFormatter.swift in Sources */, 53A79D7E29CE23F700E7489F /* MPSearchAdsAttribution.m in Sources */, - 53A79D7F29CE23F700E7489F /* MPIHasher.mm in Sources */, + 53A79D7F29CE23F700E7489F /* MPIHasher.m in Sources */, 53A79D8129CE23F700E7489F /* MPIdentityApiRequest.m in Sources */, 53A79D8229CE23F700E7489F /* MPCommerceEvent.mm in Sources */, 53A79D8329CE23F700E7489F /* MPConsentSerialization.m in Sources */, @@ -1964,8 +1953,8 @@ 53A79D8F29CE23F700E7489F /* MPArchivist.m in Sources */, 53A79D9029CE23F700E7489F /* MPDatabaseMigrationController.m in Sources */, 53A79D9129CE23F700E7489F /* MPConsentKitFilter.m in Sources */, - 53A79D9229CE23F700E7489F /* MPKitRegister.mm in Sources */, - 53A79D9329CE23F700E7489F /* MPForwardRecord.mm in Sources */, + 53A79D9229CE23F700E7489F /* MPKitRegister.m in Sources */, + 53A79D9329CE23F700E7489F /* MPForwardRecord.m in Sources */, 53A79D9429CE23F700E7489F /* MPConnector.m in Sources */, 53A79D9529CE23F700E7489F /* MPBreadcrumb.m in Sources */, 53A79D9629CE23F700E7489F /* MPEnums.m in Sources */, @@ -1985,28 +1974,27 @@ 53A79DA329CE23F700E7489F /* MPURL.m in Sources */, 53A79DA429CE23F700E7489F /* MPIdentityDTO.m in Sources */, 53A79DA529CE23F700E7489F /* MPNetworkCommunication.m in Sources */, - 53A79DA629CE23F700E7489F /* MPMessageBuilder.mm in Sources */, - 53A79DA729CE23F700E7489F /* MPStateMachine.mm in Sources */, + 53A79DA629CE23F700E7489F /* MPMessageBuilder.m in Sources */, + 53A79DA729CE23F700E7489F /* MPStateMachine.m in Sources */, 53A79DA829CE23F700E7489F /* MPKitAPI.m in Sources */, - 53A79DA929CE23F700E7489F /* MPAppNotificationHandler.mm in Sources */, - 53A79DAA29CE23F700E7489F /* MPNotificationController.mm in Sources */, + 53A79DA929CE23F700E7489F /* MPAppNotificationHandler.m in Sources */, + 53A79DAA29CE23F700E7489F /* MPNotificationController.m in Sources */, 53A79DAB29CE23F700E7489F /* MPEvent.m in Sources */, 53A79DAC29CE23F700E7489F /* MPDateFormatter.m in Sources */, 53A79DAD29CE23F700E7489F /* MPAliasResponse.m in Sources */, 53A79DAE29CE23F700E7489F /* MPKitFilter.m in Sources */, 53A79DAF29CE23F700E7489F /* MPURLConnectionAssociate.m in Sources */, - 53A79DB029CE23F700E7489F /* MPResponseEvents.mm in Sources */, + 53A79DB029CE23F700E7489F /* MPResponseEvents.m in Sources */, 53A79DB129CE23F700E7489F /* MPTransactionAttributes.m in Sources */, 53A79DB229CE23F700E7489F /* MPGDPRConsent.m in Sources */, 53A79DB329CE23F700E7489F /* MPCommerceEventInstruction.m in Sources */, 53A79DB429CE23F700E7489F /* MPDataModelAbstract.m in Sources */, - 53A79DB529CE23F700E7489F /* MPBackendController.mm in Sources */, + 53A79DB529CE23F700E7489F /* MPBackendController.m in Sources */, 53A79DB629CE23F700E7489F /* MPForwardQueueItem.m in Sources */, 53A79DB729CE23F700E7489F /* MPEventProjection.mm in Sources */, 53A79DB829CE23F700E7489F /* MPListenerController.m in Sources */, 53A79DB929CE23F700E7489F /* MPKitContainer.mm in Sources */, - 53A79DBA29CE23F700E7489F /* MPUploadBuilder.mm in Sources */, - 53A79DBB29CE23F700E7489F /* MPHasher.cpp in Sources */, + 53A79DBA29CE23F700E7489F /* MPUploadBuilder.m in Sources */, 53A79DBC29CE23F700E7489F /* MPBaseProjection.m in Sources */, 53A79DBD29CE23F700E7489F /* MPLocationManager.m in Sources */, 53A79DBE29CE23F700E7489F /* MPUserAttributeChange.m in Sources */, diff --git a/mParticle-Apple-SDK/AppNotifications/MPAppNotificationHandler.mm b/mParticle-Apple-SDK/AppNotifications/MPAppNotificationHandler.m similarity index 99% rename from mParticle-Apple-SDK/AppNotifications/MPAppNotificationHandler.mm rename to mParticle-Apple-SDK/AppNotifications/MPAppNotificationHandler.m index f746829ae..09dd05bb2 100644 --- a/mParticle-Apple-SDK/AppNotifications/MPAppNotificationHandler.mm +++ b/mParticle-Apple-SDK/AppNotifications/MPAppNotificationHandler.m @@ -8,7 +8,6 @@ #import "MPKitExecStatus.h" #import #import "MPKitContainer.h" -#include "MPHasher.h" #import "MPForwardQueueParameters.h" #import "MPKitAPI.h" #import "MPApplication.h" diff --git a/mParticle-Apple-SDK/Data Model/MPConsumerInfo.mm b/mParticle-Apple-SDK/Data Model/MPConsumerInfo.m similarity index 99% rename from mParticle-Apple-SDK/Data Model/MPConsumerInfo.mm rename to mParticle-Apple-SDK/Data Model/MPConsumerInfo.m index 35d7b0f93..91b4a65fa 100644 --- a/mParticle-Apple-SDK/Data Model/MPConsumerInfo.mm +++ b/mParticle-Apple-SDK/Data Model/MPConsumerInfo.m @@ -2,7 +2,6 @@ #import "MPIConstants.h" #import "MPILogger.h" #import "MPIUserDefaults.h" -#include "MPHasher.h" #import "MPDateFormatter.h" #import "MPPersistenceController.h" #import "NSString+MPPercentEscape.h" diff --git a/mParticle-Apple-SDK/Data Model/MPForwardRecord.mm b/mParticle-Apple-SDK/Data Model/MPForwardRecord.m similarity index 100% rename from mParticle-Apple-SDK/Data Model/MPForwardRecord.mm rename to mParticle-Apple-SDK/Data Model/MPForwardRecord.m diff --git a/mParticle-Apple-SDK/Ecommerce/MPCommerceEvent.mm b/mParticle-Apple-SDK/Ecommerce/MPCommerceEvent.mm index 18ed2e610..f8723f742 100644 --- a/mParticle-Apple-SDK/Ecommerce/MPCommerceEvent.mm +++ b/mParticle-Apple-SDK/Ecommerce/MPCommerceEvent.mm @@ -8,14 +8,12 @@ #import "MPTransactionAttributes+Dictionary.h" #import "MPIConstants.h" #import "MPEnums.h" -#include #import "MPEvent.h" #import "MPCommerceEventInstruction.h" #import "NSDictionary+MPCaseInsensitive.h" #import "mParticle.h" #import "MPILogger.h" - -using namespace std; +#import // Internal keys NSString *const kMPCECheckoutOptions = @"co"; @@ -609,7 +607,7 @@ - (NSDictionary *)dictionaryRepresentation { } - (NSArray *)expandedInstructions { - __block vector expansionInstructions; + __block std::vector expansionInstructions; NSString *eventName; __block MPEvent *event; __block NSMutableDictionary *eventInfo; diff --git a/mParticle-Apple-SDK/Ecommerce/MPProduct.mm b/mParticle-Apple-SDK/Ecommerce/MPProduct.m similarity index 97% rename from mParticle-Apple-SDK/Ecommerce/MPProduct.mm rename to mParticle-Apple-SDK/Ecommerce/MPProduct.m index db9599462..dde149ba5 100644 --- a/mParticle-Apple-SDK/Ecommerce/MPProduct.mm +++ b/mParticle-Apple-SDK/Ecommerce/MPProduct.m @@ -1,7 +1,7 @@ #import "MPProduct.h" #import "Swift.h" #import "MPIConstants.h" -#include "MPHasher.h" +#import "MPIHasher.h" #import "NSDictionary+MPCaseInsensitive.h" #import "MPILogger.h" #import "mParticle.h" @@ -305,7 +305,7 @@ - (MPProduct *)copyMatchingHashedProperties:(NSDictionary *)hashedMap { NSNumber *const zero = @0; [_beautifiedAttributes enumerateKeysAndObjectsUsingBlock:^(NSString *key, id obj, BOOL *stop) { - hashedKey = [NSString stringWithCString:mParticle::Hasher::hashString([[key lowercaseString] UTF8String]).c_str() encoding:NSUTF8StringEncoding]; + hashedKey = [MPIHasher hashString:key.lowercaseString]; hashedValue = hashedMap[hashedKey]; if ([hashedValue isEqualToNumber:zero]) { @@ -314,7 +314,7 @@ - (MPProduct *)copyMatchingHashedProperties:(NSDictionary *)hashedMap { }]; [_userDefinedAttributes enumerateKeysAndObjectsUsingBlock:^(NSString *key, id obj, BOOL *stop) { - hashedKey = [NSString stringWithCString:mParticle::Hasher::hashString([[key lowercaseString] UTF8String]).c_str() encoding:NSUTF8StringEncoding]; + hashedKey = [MPIHasher hashString:key.lowercaseString]; hashedValue = hashedMap[hashedKey]; if ([hashedValue isEqualToNumber:zero]) { diff --git a/mParticle-Apple-SDK/Ecommerce/MPPromotion.mm b/mParticle-Apple-SDK/Ecommerce/MPPromotion.m similarity index 98% rename from mParticle-Apple-SDK/Ecommerce/MPPromotion.mm rename to mParticle-Apple-SDK/Ecommerce/MPPromotion.m index bd1c1f9bc..8e052bbb3 100644 --- a/mParticle-Apple-SDK/Ecommerce/MPPromotion.mm +++ b/mParticle-Apple-SDK/Ecommerce/MPPromotion.m @@ -1,6 +1,6 @@ #import "MPPromotion.h" #import "MPIConstants.h" -#include "MPHasher.h" +#import "MPIHasher.h" #import "NSDictionary+MPCaseInsensitive.h" // Internal keys @@ -144,7 +144,7 @@ - (MPPromotion *)copyMatchingHashedProperties:(NSDictionary *)hashedMap { NSNumber *const zero = @0; [_beautifiedAttributes enumerateKeysAndObjectsUsingBlock:^(NSString *key, id obj, BOOL *stop) { - NSString *hashedKey = [NSString stringWithCString:mParticle::Hasher::hashString([[key lowercaseString] UTF8String]).c_str() encoding:NSUTF8StringEncoding]; + NSString *hashedKey = [MPIHasher hashString:key.lowercaseString]; id hashedValue = hashedMap[hashedKey]; if ([hashedValue isEqualToNumber:zero]) { diff --git a/mParticle-Apple-SDK/Include/MPIHasher.h b/mParticle-Apple-SDK/Include/MPIHasher.h index cfb180653..4c5cc1dd7 100644 --- a/mParticle-Apple-SDK/Include/MPIHasher.h +++ b/mParticle-Apple-SDK/Include/MPIHasher.h @@ -8,12 +8,13 @@ + (NSString *)hashStringUTF16:(NSString *)stringToHash; + (NSString *)hashEventType:(MPEventType)eventType; + (MPEventType)eventTypeForHash:(NSString *)hashString; -+ (NSString *)hashEventName:(MPEventType)eventType eventName:(NSString *)eventName isLogScreen:(BOOL)isLogScreen; ++ (NSString *)hashEventType:(MPEventType)eventType eventName:(NSString *)eventName isLogScreen:(BOOL)isLogScreen; + (NSString *)hashEventAttributeKey:(MPEventType)eventType eventName:(NSString *)eventName customAttributeName:(NSString *)customAttributeName isLogScreen:(BOOL)isLogScreen; + (NSString *)hashUserAttributeKey:(NSString *)userAttributeKey; + (NSString *)hashUserAttributeValue:(NSString *)userAttributeValue; + (NSString *)hashUserIdentity:(MPUserIdentity)userIdentity; + (NSString *)hashConsentPurpose:(NSString *)regulationPrefix purpose:(NSString *)purpose; + (NSString *)hashCommerceEventAttribute:(MPEventType)commerceEventType key:(NSString *)key; ++ (NSString *)hashTriggerEventName:(NSString *)eventName eventType:(NSString *)eventType; @end diff --git a/mParticle-Apple-SDK/Kits/MPEventProjection.mm b/mParticle-Apple-SDK/Kits/MPEventProjection.mm index eb1c9d03b..1cf9f8a3c 100644 --- a/mParticle-Apple-SDK/Kits/MPEventProjection.mm +++ b/mParticle-Apple-SDK/Kits/MPEventProjection.mm @@ -1,9 +1,7 @@ #import "MPEventProjection.h" #import "MPAttributeProjection.h" -#include #import "MPIHasher.h" - -using namespace std; +#import @implementation MPProjectionMatch @@ -140,7 +138,7 @@ - (instancetype)initWithConfiguration:(NSDictionary *)configuration { NSArray *attributeMaps = !MPIsNull(actionDictionary[@"attribute_maps"]) ? actionDictionary[@"attribute_maps"] : nil; if (attributeMaps) { - __block vector attributeProjectionsVector; + __block std::vector attributeProjectionsVector; [attributeMaps enumerateObjectsUsingBlock:^(NSDictionary *attributeMap, NSUInteger idx, BOOL *stop) { MPAttributeProjection *attributeProjection = [[MPAttributeProjection alloc] initWithConfiguration:configuration projectionType:MPProjectionTypeAttribute attributeIndex:idx]; diff --git a/mParticle-Apple-SDK/Kits/MPKitConfiguration.mm b/mParticle-Apple-SDK/Kits/MPKitConfiguration.mm index 014261927..a7e13af3e 100644 --- a/mParticle-Apple-SDK/Kits/MPKitConfiguration.mm +++ b/mParticle-Apple-SDK/Kits/MPKitConfiguration.mm @@ -1,5 +1,5 @@ #import "MPKitConfiguration.h" -#include "MPHasher.h" +#import "MPIHasher.h" #import "MPIConstants.h" #import "MPEventProjection.h" #import "MPStateMachine.h" @@ -7,6 +7,7 @@ #import "MPConsentSerialization.h" #import "mParticle.h" #import "MPEnums.h" +#import @interface MPKitConfiguration() @property (nonatomic, strong) NSDictionary *configurationDictionary; @@ -25,7 +26,7 @@ - (instancetype)initWithDictionary:(NSDictionary *)configurationDictionary { NSData *ekConfigData = [NSJSONSerialization dataWithJSONObject:configurationDictionary options:0 error:nil]; NSString *ekConfigString = [[NSString alloc] initWithData:ekConfigData encoding:NSUTF8StringEncoding]; - _configurationHash = @(mParticle::Hasher::hashFromString([ekConfigString cStringUsingEncoding:NSUTF8StringEncoding])); + _configurationHash = @([[MPIHasher hashString:ekConfigString] intValue]); // Attribute value filtering NSDictionary *attributeValueFiltering = configurationDictionary[@"avf"]; @@ -193,11 +194,11 @@ - (void)configureProjections:(NSArray *)projections { } auto numberOfMessageTypes = [MPEnum messageTypeSize]; - vector configuredMessageTypeProjectionsVector; + std::vector configuredMessageTypeProjectionsVector; configuredMessageTypeProjectionsVector.reserve(numberOfMessageTypes); - vector defaultProjectionsVector; + std::vector defaultProjectionsVector; defaultProjectionsVector.reserve(numberOfMessageTypes); - vector projectionsVector; + std::vector projectionsVector; projectionsVector.reserve(projections.count - 1); for (NSUInteger i = 0; i < numberOfMessageTypes; ++i) { diff --git a/mParticle-Apple-SDK/Kits/MPKitContainer.mm b/mParticle-Apple-SDK/Kits/MPKitContainer.mm index 7c07c879e..00202230e 100644 --- a/mParticle-Apple-SDK/Kits/MPKitContainer.mm +++ b/mParticle-Apple-SDK/Kits/MPKitContainer.mm @@ -13,7 +13,6 @@ #import "MPCommerceEvent.h" #import "MPCommerceEvent+Dictionary.h" #import "MPEventProjection.h" -#include #import "MPAttributeProjection.h" #import "MPPromotion.h" #import "MPPromotion+Dictionary.h" @@ -22,7 +21,6 @@ #import "NSDictionary+MPCaseInsensitive.h" #import "NSArray+MPCaseInsensitive.h" #import "MPIUserDefaults.h" -#include "MPBracket.h" #import "MPConsumerInfo.h" #import "MPForwardQueueItem.h" #import "MPTransactionAttributes.h" @@ -35,7 +33,11 @@ #import "MPIConstants.h" #import "MPDataPlanFilter.h" #import -#include +#import "MPBracket.h" +#import +#import + +using namespace std; #define DEFAULT_ALLOCATION_FOR_KITS 2 @@ -868,7 +870,7 @@ - (MPKitFilter *)filter:(id)kitRegister forEvent:(MPEven } if ([event isKindOfClass:[MPEvent class]]) { - hashValue = [MPIHasher hashEventName:event.type eventName:event.name isLogScreen:[selectorString isEqualToString:@"logScreen:"]]; + hashValue = [MPIHasher hashEventType:event.type eventName:event.name isLogScreen:[selectorString isEqualToString:@"logScreen:"]]; shouldFilter = nameFilters[hashValue] && [nameFilters[hashValue] isEqualToNumber:zero]; if (shouldFilter) { @@ -1796,7 +1798,7 @@ - (void)project:(id)kitRegister event:(MPEvent *const)ev case MPProjectionMatchTypeHash: { if (eventNameHash == 0) { - eventNameHash = [[MPIHasher hashEventName:event.type eventName:event.name isLogScreen:(messageType == MPMessageTypeScreenView)] intValue]; + eventNameHash = [[MPIHasher hashEventType:event.type eventName:event.name isLogScreen:(messageType == MPMessageTypeScreenView)] intValue]; } if (eventNameHash == [eventProjection.name integerValue]) { diff --git a/mParticle-Apple-SDK/Kits/MPKitRegister.mm b/mParticle-Apple-SDK/Kits/MPKitRegister.m similarity index 100% rename from mParticle-Apple-SDK/Kits/MPKitRegister.mm rename to mParticle-Apple-SDK/Kits/MPKitRegister.m diff --git a/mParticle-Apple-SDK/Kits/MPSideloadedKit.swift b/mParticle-Apple-SDK/Kits/MPSideloadedKit.swift index fd5fbff41..f906ca9ca 100644 --- a/mParticle-Apple-SDK/Kits/MPSideloadedKit.swift +++ b/mParticle-Apple-SDK/Kits/MPSideloadedKit.swift @@ -41,11 +41,11 @@ import Foundation } @objc public func addEventNameFilter(eventType: MPEventType, eventName: String) { - eventNameFilters[MPIHasher.hashEventName(eventType, eventName: eventName, isLogScreen: false)] = 0 + eventNameFilters[MPIHasher.hashEventType(eventType, eventName: eventName, isLogScreen: false)] = 0 } @objc public func addScreenNameFilter(screenName: String) { - eventNameFilters[MPIHasher.hashEventName(MPEventType.click, eventName: screenName, isLogScreen: true)] = 0 + eventNameFilters[MPIHasher.hashEventType(MPEventType.click, eventName: screenName, isLogScreen: true)] = 0 } @objc public func addEventAttributeFilter(eventType: MPEventType, eventName: String, customAttributeKey: String) { diff --git a/mParticle-Apple-SDK/MPBackendController.mm b/mParticle-Apple-SDK/MPBackendController.m similarity index 99% rename from mParticle-Apple-SDK/MPBackendController.mm rename to mParticle-Apple-SDK/MPBackendController.m index a97efd1e5..997491387 100644 --- a/mParticle-Apple-SDK/MPBackendController.mm +++ b/mParticle-Apple-SDK/MPBackendController.m @@ -15,7 +15,6 @@ #import "MPEvent.h" #import "MParticleUserNotification.h" #import "NSDictionary+MPCaseInsensitive.h" -#import "MPHasher.h" #import "MPUploadBuilder.h" #import "MPILogger.h" #import "MPResponseEvents.h" @@ -1910,9 +1909,7 @@ - (void)saveMessage:(MPMessage *)message updateSession:(BOOL)updateSession { NSString *eventType = messageDictionary[kMPEventTypeKey]; if (!error && eventName && eventType) { - NSString *hashedEvent = [NSString stringWithCString:mParticle::Hasher::hashEvent([eventName cStringUsingEncoding:NSUTF8StringEncoding], [eventType cStringUsingEncoding:NSUTF8StringEncoding]).c_str() - encoding:NSUTF8StringEncoding]; - + NSString *hashedEvent = [MPIHasher hashTriggerEventName:eventName eventType:eventType]; shouldUpload = [stateMachine.triggerEventTypes containsObject:hashedEvent]; } } @@ -1924,7 +1921,7 @@ - (void)saveMessage:(MPMessage *)message updateSession:(BOOL)updateSession { } } -- (MPExecStatus)waitForKitsAndUploadWithCompletionHandler:(void (^ _Nullable)())completionHandler { +- (MPExecStatus)waitForKitsAndUploadWithCompletionHandler:(void (^ _Nullable)(void))completionHandler { [self checkForKitsAndUploadWithCompletionHandler:^(BOOL didShortCircuit) { if (!didShortCircuit) { if (completionHandler) { diff --git a/mParticle-Apple-SDK/Notifications/MPNotificationController.mm b/mParticle-Apple-SDK/Notifications/MPNotificationController.m similarity index 99% rename from mParticle-Apple-SDK/Notifications/MPNotificationController.mm rename to mParticle-Apple-SDK/Notifications/MPNotificationController.m index a57670234..14b7e71f2 100644 --- a/mParticle-Apple-SDK/Notifications/MPNotificationController.mm +++ b/mParticle-Apple-SDK/Notifications/MPNotificationController.m @@ -2,7 +2,6 @@ #import "MPIConstants.h" #import "MPPersistenceController.h" #import "MPIUserDefaults.h" -#include "MPHasher.h" #import "mParticle.h" #import "MPBackendController.h" #import "MPApplication.h" diff --git a/mParticle-Apple-SDK/Persistence/MPPersistenceController.mm b/mParticle-Apple-SDK/Persistence/MPPersistenceController.mm index 51d4bbf87..8ca39b9c6 100644 --- a/mParticle-Apple-SDK/Persistence/MPPersistenceController.mm +++ b/mParticle-Apple-SDK/Persistence/MPPersistenceController.mm @@ -6,8 +6,6 @@ #import "MPBreadcrumb.h" #import "MPStateMachine.h" #import "MPUpload.h" -#include -#include #import "MPILogger.h" #import "MPConsumerInfo.h" #import "MPForwardRecord.h" @@ -22,6 +20,8 @@ #import "MPKitFilter.h" #import "MPDevice.h" #import "MPApplication.h" +#import +#import using namespace std; diff --git a/mParticle-Apple-SDK/Utils/MPBracket.cpp b/mParticle-Apple-SDK/Utils/MPBracket.cpp index b47ea665d..a1adf36fa 100644 --- a/mParticle-Apple-SDK/Utils/MPBracket.cpp +++ b/mParticle-Apple-SDK/Utils/MPBracket.cpp @@ -1,5 +1,5 @@ -#include "MPBracket.h" -#include +#import "MPBracket.h" +#import namespace mParticle { bool Bracket::shouldForward() { diff --git a/mParticle-Apple-SDK/Utils/MPBracket.h b/mParticle-Apple-SDK/Utils/MPBracket.h index 215a27327..c424ad2fb 100644 --- a/mParticle-Apple-SDK/Utils/MPBracket.h +++ b/mParticle-Apple-SDK/Utils/MPBracket.h @@ -1,10 +1,8 @@ #ifndef __mParticle__Bracket__ #define __mParticle__Bracket__ -#include -#include - -using namespace std; +#import +#import namespace mParticle { class Bracket final { diff --git a/mParticle-Apple-SDK/Utils/MPHasher.cpp b/mParticle-Apple-SDK/Utils/MPHasher.cpp deleted file mode 100644 index eafa6942c..000000000 --- a/mParticle-Apple-SDK/Utils/MPHasher.cpp +++ /dev/null @@ -1,75 +0,0 @@ -#include "MPHasher.h" -#include - -namespace mParticle { - int Hasher::hashFromString(const string &stringToHash) { - if (stringToHash.empty()) { - return 0; - } - - string lowerCaseStringToHash = stringToHash; - transform(lowerCaseStringToHash.begin(), lowerCaseStringToHash.end(), lowerCaseStringToHash.begin(), ::tolower); - - unsigned int hash = 0; - for (auto &character : lowerCaseStringToHash) { - hash = ((hash << 5) - hash) + character; - } - - return hash; - } - - string Hasher::hashString(string stringToHash) { - if (stringToHash.empty()) { - return ""; - } - - auto hash = Hasher::hashFromString(stringToHash); - - auto hashString = to_string(hash); - return hashString; - } - - vector Hasher::hashedEventTypes(const vector &eventTypes) { - vector hashedTypes; - - if (eventTypes.empty()) { - return hashedTypes; - } - - for (auto &eventType : eventTypes) { - auto eventTypeString = to_string(eventType); - auto hashedEventType = Hasher::hashString(eventTypeString); - hashedTypes.push_back(hashedEventType); - } - - return hashedTypes; - } - - vector Hasher::hashedAllEventTypes() { - vector eventTypes(22); - - int i = 0; - for_each(eventTypes.begin(), eventTypes.end(), [&i](int &eventType) {eventType = i++;}); - - vector hashes = Hasher::hashedEventTypes(eventTypes); - return hashes; - } - - string Hasher::hashEvent(string eventName, string eventType) { - eventName.append(eventType); - return Hasher::hashString(eventName); - } - - int64_t Hasher::hashFNV1a(const char *bytes, int length) { - // FNV-1a hashing - uint64_t rampHash = 0xcbf29ce484222325; - - int i = 0; - while (i < length) { - rampHash = (rampHash ^ bytes[i]) * 0x100000001B3; - i += 1; - } - - return rampHash; - } -} diff --git a/mParticle-Apple-SDK/Utils/MPHasher.h b/mParticle-Apple-SDK/Utils/MPHasher.h deleted file mode 100644 index 39dabaf81..000000000 --- a/mParticle-Apple-SDK/Utils/MPHasher.h +++ /dev/null @@ -1,23 +0,0 @@ -#ifndef __mParticle__Hasher__ -#define __mParticle__Hasher__ - -#include -#include -#include - -using namespace std; - -namespace mParticle { - class Hasher final { - - public: - static int hashFromString(const string &stringToHash); - static string hashString(string stringToHash); - static vector hashedEventTypes(const vector &eventTypes); - static vector hashedAllEventTypes(); - static string hashEvent(string eventName, string eventType); - static int64_t hashFNV1a(const char *bytes, int length); - }; -} - -#endif diff --git a/mParticle-Apple-SDK/Utils/MPIHasher.mm b/mParticle-Apple-SDK/Utils/MPIHasher.m similarity index 58% rename from mParticle-Apple-SDK/Utils/MPIHasher.mm rename to mParticle-Apple-SDK/Utils/MPIHasher.m index e58d7313f..1cd7aa494 100644 --- a/mParticle-Apple-SDK/Utils/MPIHasher.mm +++ b/mParticle-Apple-SDK/Utils/MPIHasher.m @@ -1,27 +1,47 @@ #import "MPIHasher.h" -#include "MPHasher.h" @implementation MPIHasher + (uint64_t)hashFNV1a:(NSData *)data { - uint64_t dataHash = mParticle::Hasher::hashFNV1a((const char *)[data bytes], (int)[data length]); - return dataHash; + // FNV-1a hashing + uint64_t rampHash = 0xcbf29ce484222325; + const char *bytes = (const char *)data.bytes; + NSUInteger length = data.length; + + for (int i = 0; i < length; i++) { + rampHash = (rampHash ^ bytes[i]) * 0x100000001B3; + } + return rampHash; } + (NSString *)hashString:(NSString *)stringToHash { - NSString *result = [NSString stringWithCString:mParticle::Hasher::hashString([stringToHash cStringUsingEncoding:NSUTF8StringEncoding]).c_str() encoding:NSUTF8StringEncoding]; - return result; + if (stringToHash.length == 0) { + return @""; + } + + NSString *lowercaseStringToHash = stringToHash.lowercaseString; + NSData *dataToHash = [lowercaseStringToHash dataUsingEncoding:NSUTF8StringEncoding]; + const char *bytes = (const char *)dataToHash.bytes; + NSUInteger length = dataToHash.length; + + int32_t hash = 0; + for (int i = 0; i < length; i++) { + uint8_t character = bytes[i]; + hash = ((hash << 5) - hash) + character; + } + + return [NSString stringWithFormat:@"%d", hash]; } + (NSString *)hashStringUTF16:(NSString *)stringToHash { NSData *data = [stringToHash dataUsingEncoding:NSUTF16LittleEndianStringEncoding]; - int64_t hash = mParticle::Hasher::hashFNV1a((const char *)[data bytes], (int)[data length]); + int64_t hash = [self hashFNV1a:data]; NSString *result = @(hash).stringValue; return result; } + (NSString *)hashEventType:(MPEventType)eventType { - return [NSString stringWithCString:mParticle::Hasher::hashString([[@(eventType) stringValue] UTF8String]).c_str() encoding:NSUTF8StringEncoding]; + return [self hashString:[@(eventType) stringValue]]; } + (MPEventType)eventTypeForHash:(NSString *)hashString { @@ -34,7 +54,7 @@ + (MPEventType)eventTypeForHash:(NSString *)hashString { return MPEventTypeOther; } -+ (NSString *)hashEventName:(MPEventType)eventType eventName:(NSString *)eventName isLogScreen:(BOOL)isLogScreen { ++ (NSString *)hashEventType:(MPEventType)eventType eventName:(NSString *)eventName isLogScreen:(BOOL)isLogScreen { NSString *stringToBeHashed; if (isLogScreen) { stringToBeHashed = [NSString stringWithFormat:@"%@%@", @"0", [eventName lowercaseString]]; @@ -42,26 +62,27 @@ + (NSString *)hashEventName:(MPEventType)eventType eventName:(NSString *)eventNa } else { stringToBeHashed = [NSString stringWithFormat:@"%@%@", [@(eventType) stringValue], [eventName lowercaseString]]; } - return [NSString stringWithCString:mParticle::Hasher::hashString([stringToBeHashed cStringUsingEncoding:NSUTF8StringEncoding]).c_str() encoding:NSUTF8StringEncoding]; + + return [self hashString:stringToBeHashed]; } + (NSString *)hashEventAttributeKey:(MPEventType)eventType eventName:(NSString *)eventName customAttributeName:(NSString *)customAttributeName isLogScreen:(BOOL)isLogScreen { NSString *stringToBeHashed; if (isLogScreen) { stringToBeHashed = [NSString stringWithFormat:@"%@%@%@", @"0", eventName, customAttributeName]; - + } else { stringToBeHashed = [NSString stringWithFormat:@"%@%@%@", [@(eventType) stringValue], eventName, customAttributeName]; } - return [NSString stringWithCString:mParticle::Hasher::hashString([stringToBeHashed cStringUsingEncoding:NSUTF8StringEncoding]).c_str() encoding:NSUTF8StringEncoding]; + return [self hashString:stringToBeHashed]; } + (NSString *)hashUserAttributeKey:(NSString *)userAttributeKey { - return [NSString stringWithCString:mParticle::Hasher::hashString([[userAttributeKey lowercaseString] cStringUsingEncoding:NSUTF8StringEncoding]).c_str() encoding:NSUTF8StringEncoding]; + return [self hashString:userAttributeKey.lowercaseString]; } + (NSString *)hashUserAttributeValue:(NSString *)userAttributeValue { - return [NSString stringWithCString:mParticle::Hasher::hashString([[userAttributeValue lowercaseString] cStringUsingEncoding:NSUTF8StringEncoding]).c_str() encoding:NSUTF8StringEncoding]; + return[self hashString:userAttributeValue.lowercaseString]; } // User Identities are not actually hashed, this method is named this way to @@ -72,12 +93,17 @@ + (NSString *)hashUserIdentity:(MPUserIdentity)userIdentity { + (NSString *)hashConsentPurpose:(NSString *)regulationPrefix purpose:(NSString *)purpose { NSString *stringToBeHashed = [NSString stringWithFormat:@"%@%@", regulationPrefix, [purpose lowercaseString]]; - return [NSString stringWithCString:mParticle::Hasher::hashString([stringToBeHashed cStringUsingEncoding:NSUTF8StringEncoding]).c_str() encoding:NSUTF8StringEncoding]; + return [self hashString:stringToBeHashed]; } + (NSString *)hashCommerceEventAttribute:(MPEventType)commerceEventType key:(NSString *)key { NSString *stringToBeHashed = [NSString stringWithFormat:@"%@%@", [@(commerceEventType) stringValue], key]; - return [NSString stringWithCString:mParticle::Hasher::hashString([[stringToBeHashed lowercaseString] UTF8String]).c_str() encoding:NSUTF8StringEncoding]; + return [self hashString:stringToBeHashed]; +} + ++ (NSString *)hashTriggerEventName:(NSString *)eventName eventType:(NSString *)eventType { + NSString *stringToBeHashed = [NSString stringWithFormat:@"%@%@", eventName, eventType]; + return [self hashString:stringToBeHashed]; } @end diff --git a/mParticle-Apple-SDK/Utils/MPMessageBuilder.mm b/mParticle-Apple-SDK/Utils/MPMessageBuilder.m similarity index 100% rename from mParticle-Apple-SDK/Utils/MPMessageBuilder.mm rename to mParticle-Apple-SDK/Utils/MPMessageBuilder.m diff --git a/mParticle-Apple-SDK/Utils/MPResponseEvents.mm b/mParticle-Apple-SDK/Utils/MPResponseEvents.m similarity index 100% rename from mParticle-Apple-SDK/Utils/MPResponseEvents.mm rename to mParticle-Apple-SDK/Utils/MPResponseEvents.m diff --git a/mParticle-Apple-SDK/Utils/MPStateMachine.mm b/mParticle-Apple-SDK/Utils/MPStateMachine.m similarity index 98% rename from mParticle-Apple-SDK/Utils/MPStateMachine.mm rename to mParticle-Apple-SDK/Utils/MPStateMachine.m index 125b7c400..66a414e34 100644 --- a/mParticle-Apple-SDK/Utils/MPStateMachine.mm +++ b/mParticle-Apple-SDK/Utils/MPStateMachine.m @@ -4,10 +4,9 @@ #import "MPApplication.h" #import "MPCustomModule.h" #import "MPDevice.h" -#include +#import #import "MPNotificationController.h" #import "MPDateFormatter.h" -#import "MPHasher.h" #import "MPILogger.h" #import "MPConsumerInfo.h" #import "MPPersistenceController.h" @@ -26,10 +25,10 @@ #endif #endif -NSString *const kCookieDateKey = @"e"; -NSString *const kMinUploadDateKey = @"MinUploadDate"; -NSString *const kMinAliasDateKey = @"MinAliasDate"; -NSString *const kMPStateKey = @"state"; +static NSString *const kCookieDateKey = @"e"; +static NSString *const kMinUploadDateKey = @"MinUploadDate"; +static NSString *const kMinAliasDateKey = @"MinAliasDate"; +static NSString *const kMPStateKey = @"state"; static MPEnvironment runningEnvironment = MPEnvironmentAutoDetect; static BOOL runningInBackground = NO; @@ -207,9 +206,11 @@ - (void)setStoredSDKVersion:(NSString *)storedSDKVersion { + (MPEnvironment)getEnvironment { MPEnvironment environment; -#if !TARGET_OS_SIMULATOR +#if TARGET_OS_SIMULATOR + environment = MPEnvironmentDevelopment; +#else int numberOfBytes = 4; - int *name = new int[numberOfBytes]; + int name[numberOfBytes]; name[0] = CTL_KERN; name[1] = KERN_PROC; name[2] = KERN_PROC_PID; @@ -220,7 +221,6 @@ + (MPEnvironment)getEnvironment { info.kp_proc.p_flag = 0; sysctl(name, numberOfBytes, &info, &infoSize, NULL, 0); - delete[] name; BOOL isDebuggerRunning = (info.kp_proc.p_flag & P_TRACED) != 0; if (isDebuggerRunning) { @@ -229,8 +229,6 @@ + (MPEnvironment)getEnvironment { NSString *provisioningProfileString = [MPStateMachine provisioningProfileString]; environment = provisioningProfileString ? MPEnvironmentDevelopment : MPEnvironmentProduction; } -#else - environment = MPEnvironmentDevelopment; #endif return environment; @@ -745,7 +743,7 @@ - (void)configureRampPercentage:(NSNumber *)rampPercentage { MPDevice *device = [[MPDevice alloc] init]; NSData *rampData = [device.deviceIdentifier dataUsingEncoding:NSUTF8StringEncoding]; - uint64_t rampHash = mParticle::Hasher::hashFNV1a((const char *)[rampData bytes], (int)[rampData length]); + uint64_t rampHash = [MPIHasher hashFNV1a:rampData]; NSUInteger modRampHash = rampHash % 100; dataRamped = modRampHash > [rampPercentage integerValue]; diff --git a/mParticle-Apple-SDK/Utils/MPUploadBuilder.mm b/mParticle-Apple-SDK/Utils/MPUploadBuilder.m similarity index 99% rename from mParticle-Apple-SDK/Utils/MPUploadBuilder.mm rename to mParticle-Apple-SDK/Utils/MPUploadBuilder.m index 43a435983..9b75ef2ca 100644 --- a/mParticle-Apple-SDK/Utils/MPUploadBuilder.mm +++ b/mParticle-Apple-SDK/Utils/MPUploadBuilder.m @@ -1,5 +1,4 @@ #import "MPUploadBuilder.h" -#include #import "MPMessage.h" #import "MPSession.h" #import "MPUpload.h" @@ -18,8 +17,6 @@ #import "mParticle.h" #import "MPILogger.h" -using namespace std; - @interface MParticle () @property (nonatomic, strong, readonly) MPPersistenceController *persistenceController; diff --git a/mParticle-Apple-SDK/Utils/MPZip.m b/mParticle-Apple-SDK/Utils/MPZip.m index affe8be62..902991b39 100644 --- a/mParticle-Apple-SDK/Utils/MPZip.m +++ b/mParticle-Apple-SDK/Utils/MPZip.m @@ -1,5 +1,5 @@ #import "MPZip.h" -#include "zlib.h" +#import "zlib.h" @implementation MPZip diff --git a/mParticle-Apple-SDK/mParticle.m b/mParticle-Apple-SDK/mParticle.m index 1e788e5ca..ddc2d57d7 100644 --- a/mParticle-Apple-SDK/mParticle.m +++ b/mParticle-Apple-SDK/mParticle.m @@ -41,11 +41,11 @@ static MPWrapperSdk _wrapperSdk = MPWrapperSdkNone; static NSString *_wrapperSdkVersion = nil; -NSString *const kMPEventNameLogTransaction = @"Purchase"; -NSString *const kMPEventNameLTVIncrease = @"Increase LTV"; -NSString *const kMParticleFirstRun = @"firstrun"; -NSString *const kMPMethodName = @"$MethodName"; -NSString *const kMPStateKey = @"state"; +static NSString *const kMPEventNameLogTransaction = @"Purchase"; +static NSString *const kMPEventNameLTVIncrease = @"Increase LTV"; +static NSString *const kMParticleFirstRun = @"firstrun"; +static NSString *const kMPMethodName = @"$MethodName"; +static NSString *const kMPStateKey = @"state"; @interface MPIdentityApi () - (void)identifyNoDispatch:(MPIdentityApiRequest *)identifyRequest completion:(nullable MPIdentityApiResultCallback)completion;