diff --git a/Pod/Classes/Kits/MPKitContainer.mm b/Pod/Classes/Kits/MPKitContainer.mm index 3a23835b..4327cd94 100644 --- a/Pod/Classes/Kits/MPKitContainer.mm +++ b/Pod/Classes/Kits/MPKitContainer.mm @@ -586,36 +586,33 @@ - (void)filterKit:(MPKitAbstract *)kit forEvent:(MPEvent *const)event selector:( } // Attributes - if (!event.info) { - kitFilter = [[MPKitFilter alloc] initWithEvent:event shouldFilter:NO]; - completionHandlerCopy(kitFilter, YES); - return; - } - MPMessageType messageTypeCode = (MPMessageType)mParticle::MessageTypeName::messageTypeForName(string([messageType UTF8String])); if (messageTypeCode != MPMessageTypeEvent && messageTypeCode != MPMessageTypeScreenView) { messageTypeCode = MPMessageTypeUnknown; } MPEvent *forwardEvent = [event copy]; - __block NSMutableDictionary *filteredAttributes = [[NSMutableDictionary alloc] initWithCapacity:forwardEvent.info.count]; - [forwardEvent.info enumerateKeysAndObjectsUsingBlock:^(NSString *key, id obj, BOOL *stop) { - auxString = [NSString stringWithFormat:@"%@%@%@", eventTypeString, event.name, key]; - hashValue = [NSString stringWithCString:mParticle::Hasher::hashString([auxString cStringUsingEncoding:NSUTF8StringEncoding]).c_str() - encoding:NSUTF8StringEncoding]; + if (event.info) { + __block NSMutableDictionary *filteredAttributes = [[NSMutableDictionary alloc] initWithCapacity:forwardEvent.info.count]; - id attributeFilterValue = attributeFilters[hashValue]; - BOOL attributeFilterIsFalse = [attributeFilterValue isEqualToNumber:zero]; + [forwardEvent.info enumerateKeysAndObjectsUsingBlock:^(NSString *key, id obj, BOOL *stop) { + auxString = [NSString stringWithFormat:@"%@%@%@", eventTypeString, event.name, key]; + hashValue = [NSString stringWithCString:mParticle::Hasher::hashString([auxString cStringUsingEncoding:NSUTF8StringEncoding]).c_str() + encoding:NSUTF8StringEncoding]; + + id attributeFilterValue = attributeFilters[hashValue]; + BOOL attributeFilterIsFalse = [attributeFilterValue isEqualToNumber:zero]; + + if (!attributeFilterValue || (attributeFilterValue && !attributeFilterIsFalse)) { + filteredAttributes[key] = obj; + } else if (attributeFilterValue && attributeFilterIsFalse) { + shouldFilter = YES; + } + }]; - if (!attributeFilterValue || (attributeFilterValue && !attributeFilterIsFalse)) { - filteredAttributes[key] = obj; - } else if (attributeFilterValue && attributeFilterIsFalse) { - shouldFilter = YES; - } - }]; - - forwardEvent.info = filteredAttributes.count > 0 ? filteredAttributes : nil; + forwardEvent.info = filteredAttributes.count > 0 ? filteredAttributes : nil; + } [self projectKit:kit event:forwardEvent