diff --git a/Example/Example.xcodeproj/project.pbxproj b/Example/Example.xcodeproj/project.pbxproj index 1ee3fbb9a..2c98c7c7d 100644 --- a/Example/Example.xcodeproj/project.pbxproj +++ b/Example/Example.xcodeproj/project.pbxproj @@ -123,7 +123,6 @@ 34AC7ACE279829FC00C0DFA5 /* GrowingUIKitHelpersTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AC7AC82798270500C0DFA5 /* GrowingUIKitHelpersTest.m */; }; 34AC7AD127982BEE00C0DFA5 /* GrowingSwizzleTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AC7AD027982BEE00C0DFA5 /* GrowingSwizzleTest.m */; }; 34AE0FE8279AADA7009C8166 /* NSNotificationCenterAutotrackTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34AE0FE7279AADA7009C8166 /* NSNotificationCenterAutotrackTest.m */; }; - 34B014BB28C861AD00903B99 /* InvocationHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 34BF77B027951D5D00CA18BA /* InvocationHelper.m */; }; 34B2147C27966142004E2CE3 /* DatabaseTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34B2147B27966142004E2CE3 /* DatabaseTest.m */; }; 34B2147E2796664E004E2CE3 /* JSONPersistenceTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34B2147D2796664E004E2CE3 /* JSONPersistenceTest.m */; }; 34B2148727969562004E2CE3 /* DynamicProxyTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34B2148627969562004E2CE3 /* DynamicProxyTest.m */; }; @@ -162,8 +161,6 @@ 34BF77CB279562AC00CA18BA /* ManualTrackHelper.m in Sources */ = {isa = PBXBuildFile; fileRef = 4962653224DA66B600032551 /* ManualTrackHelper.m */; }; 34C0BF3A277EA7C90047ADC4 /* DataTrafficTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34C0BF39277EA7C90047ADC4 /* DataTrafficTest.m */; }; 34C0BF3D277EA9BA0047ADC4 /* MobileDebuggerTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34C0BF3C277EA9BA0047ADC4 /* MobileDebuggerTest.m */; }; - 34D932FE27BF8C640038430E /* MockEventQueue.m in Sources */ = {isa = PBXBuildFile; fileRef = 4962653324DA66B600032551 /* MockEventQueue.m */; }; - 34D9330027BF943F0038430E /* A0GrowingAnalyticsCDPTest.m in Sources */ = {isa = PBXBuildFile; fileRef = 34D932F927BF8A400038430E /* A0GrowingAnalyticsCDPTest.m */; }; 46B566A91FF28564AA03491F /* Pods_ProtobufTests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C2E2C01C3AC89773BC3F4BE1 /* Pods_ProtobufTests.framework */; }; 4916270F24E157BB00444AF2 /* GIOPresentViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4916270E24E157BB00444AF2 /* GIOPresentViewController.m */; }; 4916271224E157CF00444AF2 /* GIOPagingViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 4916271124E157CF00444AF2 /* GIOPagingViewController.m */; }; @@ -386,7 +383,6 @@ 34BF77C52795568B00CA18BA /* GrowingKeyChainTest.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GrowingKeyChainTest.m; sourceTree = ""; }; 34C0BF39277EA7C90047ADC4 /* DataTrafficTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = DataTrafficTest.m; sourceTree = ""; }; 34C0BF3C277EA9BA0047ADC4 /* MobileDebuggerTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MobileDebuggerTest.m; sourceTree = ""; }; - 34D932F727BF8A400038430E /* GrowingAnalyticsCDPTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GrowingAnalyticsCDPTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; }; 34D932F927BF8A400038430E /* A0GrowingAnalyticsCDPTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = A0GrowingAnalyticsCDPTest.m; sourceTree = ""; }; 3D63F725A31AE372B485C361 /* Pods-HostApplicationTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-HostApplicationTests.debug.xcconfig"; path = "Target Support Files/Pods-HostApplicationTests/Pods-HostApplicationTests.debug.xcconfig"; sourceTree = ""; }; 42ADE26B250B292900CA7268 /* HybridTest.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HybridTest.m; sourceTree = ""; }; @@ -498,13 +494,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 34D932F427BF8A400038430E /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 6003F587195388D20070C39A /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; @@ -1300,7 +1289,6 @@ 34BA7B2F277C63D00030AC21 /* ProtobufTests.xctest */, 34AB4E47279000F5002549FF /* GrowingAnalyticsStartTests.xctest */, 34BF77B82795561300CA18BA /* HostApplicationTests.xctest */, - 34D932F727BF8A400038430E /* GrowingAnalyticsCDPTests.xctest */, 3494DCF828597E1A00A6CE46 /* GrowingAnalyticsUITests.xctest */, 3494DD0E2859E07500A6CE46 /* ExampleiOS13.app */, 3494DD2D2859E27B00A6CE46 /* GrowingAnalyticsiOS13UITests.xctest */, @@ -1506,23 +1494,6 @@ productReference = 34BF77B82795561300CA18BA /* HostApplicationTests.xctest */; productType = "com.apple.product-type.bundle.unit-test"; }; - 34D932F627BF8A400038430E /* GrowingAnalyticsCDPTests */ = { - isa = PBXNativeTarget; - buildConfigurationList = 34D932FB27BF8A400038430E /* Build configuration list for PBXNativeTarget "GrowingAnalyticsCDPTests" */; - buildPhases = ( - 34D932F327BF8A400038430E /* Sources */, - 34D932F427BF8A400038430E /* Frameworks */, - 34D932F527BF8A400038430E /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = GrowingAnalyticsCDPTests; - productName = GrowingAnalyticsCDPTests; - productReference = 34D932F727BF8A400038430E /* GrowingAnalyticsCDPTests.xctest */; - productType = "com.apple.product-type.bundle.unit-test"; - }; 6003F589195388D20070C39A /* Example */ = { isa = PBXNativeTarget; buildConfigurationList = 6003F5BF195388D20070C39A /* Build configuration list for PBXNativeTarget "Example" */; @@ -1609,11 +1580,6 @@ ProvisioningStyle = Automatic; TestTargetID = 6003F589195388D20070C39A; }; - 34D932F627BF8A400038430E = { - CreatedOnToolsVersion = 13.1; - DevelopmentTeam = SXBU677CPT; - ProvisioningStyle = Automatic; - }; 6003F589195388D20070C39A = { DevelopmentTeam = SXBU677CPT; ProvisioningStyle = Automatic; @@ -1638,7 +1604,6 @@ 04A6FAE624E4F0F4006C72F0 /* CodeCheck */, 04A6FAEB24E50EE0006C72F0 /* CodeFormat */, 34BA7B16277C61250030AC21 /* GrowingAnalyticsTests */, - 34D932F627BF8A400038430E /* GrowingAnalyticsCDPTests */, 34AB4E46279000F5002549FF /* GrowingAnalyticsStartTests */, 34BF77B72795561300CA18BA /* HostApplicationTests */, 34BA7B2E277C63D00030AC21 /* ProtobufTests */, @@ -1720,13 +1685,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 34D932F527BF8A400038430E /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; 6003F588195388D20070C39A /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; @@ -2271,16 +2229,6 @@ ); runOnlyForDeploymentPostprocessing = 0; }; - 34D932F327BF8A400038430E /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 34D932FE27BF8C640038430E /* MockEventQueue.m in Sources */, - 34B014BB28C861AD00903B99 /* InvocationHelper.m in Sources */, - 34D9330027BF943F0038430E /* A0GrowingAnalyticsCDPTest.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; 6003F586195388D20070C39A /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; @@ -3288,95 +3236,6 @@ }; name = Release; }; - 34D932FC27BF8A400038430E /* Debug */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_STYLE = Automatic; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; - DEVELOPMENT_TEAM = SXBU677CPT; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GENERATE_INFOPLIST_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/..\"", - ); - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.growingio.GrowingAnalyticsCDPTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Debug; - }; - 34D932FD27BF8A400038430E /* Release */ = { - isa = XCBuildConfiguration; - buildSettings = { - CLANG_ANALYZER_NONNULL = YES; - CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++17"; - CLANG_ENABLE_OBJC_WEAK = YES; - CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; - CLANG_WARN_COMMA = YES; - CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; - CLANG_WARN_DOCUMENTATION_COMMENTS = YES; - CLANG_WARN_INFINITE_RECURSION = YES; - CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; - CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; - CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; - CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; - CLANG_WARN_STRICT_PROTOTYPES = YES; - CLANG_WARN_SUSPICIOUS_MOVE = YES; - CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; - CLANG_WARN_UNREACHABLE_CODE = YES; - CODE_SIGN_STYLE = Automatic; - COPY_PHASE_STRIP = NO; - CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; - DEVELOPMENT_TEAM = SXBU677CPT; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_C_LANGUAGE_STANDARD = gnu11; - GCC_NO_COMMON_BLOCKS = YES; - GENERATE_INFOPLIST_FILE = YES; - HEADER_SEARCH_PATHS = ( - "$(inherited)", - "\"$(SRCROOT)/..\"", - ); - IPHONEOS_DEPLOYMENT_TARGET = 11.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MARKETING_VERSION = 1.0; - MTL_ENABLE_DEBUG_INFO = NO; - MTL_FAST_MATH = YES; - PRODUCT_BUNDLE_IDENTIFIER = com.growingio.GrowingAnalyticsCDPTests; - PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_EMIT_LOC_STRINGS = NO; - TARGETED_DEVICE_FAMILY = "1,2"; - }; - name = Release; - }; 6003F5BD195388D20070C39A /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -3614,15 +3473,6 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 34D932FB27BF8A400038430E /* Build configuration list for PBXNativeTarget "GrowingAnalyticsCDPTests" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - 34D932FC27BF8A400038430E /* Debug */, - 34D932FD27BF8A400038430E /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; 6003F585195388D10070C39A /* Build configuration list for PBXProject "Example" */ = { isa = XCConfigurationList; buildConfigurations = ( diff --git a/Example/Example/MeasurementProtocol/GIOMeasurementProtocolTableViewController.m b/Example/Example/MeasurementProtocol/GIOMeasurementProtocolTableViewController.m index cd5e88da2..50ab8e418 100644 --- a/Example/Example/MeasurementProtocol/GIOMeasurementProtocolTableViewController.m +++ b/Example/Example/MeasurementProtocol/GIOMeasurementProtocolTableViewController.m @@ -44,6 +44,10 @@ - (IBAction)setDataCollectionEnabled:(UISwitch *)sender { #endif } +- (void)buttonAction { + +} + #pragma mark - Table view data source - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { @@ -71,6 +75,20 @@ - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger } vHeader.textLabel.text = [self tableView:tableView titleForHeaderInSection:section]; + + UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; + button.translatesAutoresizingMaskIntoConstraints = NO; + [button setTitle:@"button" forState:UIControlStateNormal]; + [button setBackgroundColor:UIColor.grayColor]; + [button addTarget:self action:@selector(buttonAction) forControlEvents:UIControlEventTouchUpInside]; + [vHeader addSubview:button]; + + [NSLayoutConstraint activateConstraints:@[ + [button.centerYAnchor constraintEqualToAnchor:vHeader.centerYAnchor], + [button.trailingAnchor constraintEqualToAnchor:vHeader.trailingAnchor constant:-15.0f], + [button.widthAnchor constraintEqualToConstant:60.0f], + [button.heightAnchor constraintEqualToConstant:35.0f] + ]]; return vHeader; } diff --git a/Example/Example/UICategoryTests/Hybrid/gio_hybrideventtest.html b/Example/Example/UICategoryTests/Hybrid/gio_hybrideventtest.html index ecb56fa2d..65217bd00 100644 --- a/Example/Example/UICategoryTests/Hybrid/gio_hybrideventtest.html +++ b/Example/Example/UICategoryTests/Hybrid/gio_hybrideventtest.html @@ -196,7 +196,8 @@ "globalSequenceId": 99, "eventSequenceId": 3, "textValue": "登录", - "xpath": "/div/button#abc", + "xpath": "/div/button", + "xcontent": "/divClass/buttonId", "index": 1, "hyperlink": "https://www.growingio.com" }; @@ -219,6 +220,7 @@ "eventSequenceId": 3, "textValue": "输入内容", "xpath": "/div/form/input", + "xcontent": "/divClass/formClass/inputId", "index": 1 }; sendMockEvent(event); diff --git a/Example/GrowingAnalyticsTests/A0GrowingAnalyticsTest.m b/Example/GrowingAnalyticsTests/A0GrowingAnalyticsTest.m index 909c17504..88a2e8eeb 100644 --- a/Example/GrowingAnalyticsTests/A0GrowingAnalyticsTest.m +++ b/Example/GrowingAnalyticsTests/A0GrowingAnalyticsTest.m @@ -19,6 +19,8 @@ #import "GrowingTrackerCore/Event/GrowingLoginUserAttributesEvent.h" #import "GrowingTrackerCore/Event/GrowingVisitorAttributesEvent.h" #import "GrowingTrackerCore/Event/GrowingTrackEventType.h" +#import "GrowingTrackerCore/Event/Autotrack/GrowingAutotrackEventType.h" +#import "GrowingTrackerCore/Event/Autotrack/GrowingPageEvent.h" static NSString * const kGrowingEventDuration = @"event_duration"; @@ -635,19 +637,6 @@ - (void)testSetLocation { [self waitForExpectationsWithTimeout:10.0f handler:nil]; } -- (void)testSetLocationSendVisit { - [[GrowingAutotracker sharedInstance] cleanLocation]; - double latitude = 30.11; - double longitude = 32.22; - [[GrowingAutotracker sharedInstance] setLocation:latitude longitude:longitude]; - NSArray *events = [MockEventQueue.sharedQueue eventsFor:GrowingEventTypeVisit]; - XCTAssertEqual(events.count, 1); - - GrowingVisitEvent *event = (GrowingVisitEvent *)events.firstObject; - XCTAssertEqual(event.latitude, latitude); - XCTAssertEqual(event.longitude, longitude); -} - - (void)testSetDataCollectionEnabled { NSString *eventName = @"name"; [[GrowingAutotracker sharedInstance] setDataCollectionEnabled:NO]; @@ -681,13 +670,84 @@ - (void)testSetDataCollectionEnabled { #pragma mark - GrowingAutoTracker API Test -- (void)testPageVariableToViewControllerTest { - UIViewController *vc = [UIViewController new]; - vc.growingPageAttributes = @{@"key" : @"value"}; - XCTAssertEqualObjects(vc.growingPageAttributes[@"key"], @"value"); +- (void)testAutotrackPageWithoutAttributesNotTrackTest { + UIViewController *controller = [[UIViewController alloc] init]; + [[GrowingAutotracker sharedInstance] autotrackPage:controller alias:@"XCTest"]; + + XCTestExpectation *expectation = [self expectationWithDescription:@"testAutotrackPageWithoutAttributesNotTrackTest Test failed : timeout"]; + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + NSArray *events = [MockEventQueue.sharedQueue eventsFor:GrowingEventTypePage]; + XCTAssertEqual(events.count, 0); + [expectation fulfill]; + }); + + [self waitForExpectationsWithTimeout:3.0f handler:nil]; +} + +- (void)testAutotrackPageWithoutAttributesTest { + UIViewController *controller = [[UIViewController alloc] init]; + [[GrowingAutotracker sharedInstance] autotrackPage:controller alias:@"XCTest"]; + [controller viewDidAppear:NO]; + + XCTestExpectation *expectation = [self expectationWithDescription:@"testAutotrackPageWithoutAttributesTest Test failed : timeout"]; + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + NSArray *events = [MockEventQueue.sharedQueue eventsFor:GrowingEventTypePage]; + XCTAssertEqual(events.count, 1); + + GrowingPageEvent *event = (GrowingPageEvent *)events.firstObject; + XCTAssertEqualObjects(event.eventType, GrowingEventTypePage); + XCTAssertEqualObjects(event.pageName, @"XCTest"); + XCTAssertEqualObjects(event.attributes[@"key"], nil); + + NSDictionary *dic = event.toDictionary; + XCTAssertEqualObjects(dic[@"eventType"], GrowingEventTypePage); + XCTAssertEqualObjects(dic[@"path"], @"XCTest"); + XCTAssertEqualObjects(dic[@"attributes"][@"key"], nil); + + [expectation fulfill]; + }); + + [self waitForExpectationsWithTimeout:3.0f handler:nil]; +} + +- (void)testAutotrackPageWithAttributesNotTrackTest { + UIViewController *controller = [[UIViewController alloc] init]; + [[GrowingAutotracker sharedInstance] autotrackPage:controller alias:@"XCTest" attributes:@{@"key" : @"value"}]; + + XCTestExpectation *expectation = [self expectationWithDescription:@"testAutotrackPageWithAttributesNotTrackTest Test failed : timeout"]; + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + NSArray *events = [MockEventQueue.sharedQueue eventsFor:GrowingEventTypePage]; + XCTAssertEqual(events.count, 0); + [expectation fulfill]; + }); + + [self waitForExpectationsWithTimeout:3.0f handler:nil]; +} + +- (void)testAutotrackPageWithAttributesTest { + UIViewController *controller = [[UIViewController alloc] init]; + [[GrowingAutotracker sharedInstance] autotrackPage:controller alias:@"XCTest" attributes:@{@"key" : @"value"}]; + [controller viewDidAppear:NO]; + + XCTestExpectation *expectation = [self expectationWithDescription:@"testAutotrackPageWithAttributesTest Test failed : timeout"]; + dispatch_async(dispatch_get_global_queue(0, 0), ^{ + NSArray *events = [MockEventQueue.sharedQueue eventsFor:GrowingEventTypePage]; + XCTAssertEqual(events.count, 1); + + GrowingPageEvent *event = (GrowingPageEvent *)events.firstObject; + XCTAssertEqualObjects(event.eventType, GrowingEventTypePage); + XCTAssertEqualObjects(event.pageName, @"XCTest"); + XCTAssertEqualObjects(event.attributes[@"key"], @"value"); + + NSDictionary *dic = event.toDictionary; + XCTAssertEqualObjects(dic[@"eventType"], GrowingEventTypePage); + XCTAssertEqualObjects(dic[@"path"], @"XCTest"); + XCTAssertEqualObjects(dic[@"attributes"][@"key"], @"value"); + + [expectation fulfill]; + }); - vc.growingPageAttributes = nil; - XCTAssertEqualObjects(vc.growingPageAttributes[@"key"], nil); + [self waitForExpectationsWithTimeout:3.0f handler:nil]; } @end diff --git a/Example/GrowingAnalyticsTests/AutotrackerCoreTests/GrowingNodeTests/NodeTest.m b/Example/GrowingAnalyticsTests/AutotrackerCoreTests/GrowingNodeTests/NodeTest.m index 474d629f2..cb406252a 100644 --- a/Example/GrowingAnalyticsTests/AutotrackerCoreTests/GrowingNodeTests/NodeTest.m +++ b/Example/GrowingAnalyticsTests/AutotrackerCoreTests/GrowingNodeTests/NodeTest.m @@ -45,7 +45,8 @@ -(void)testGrowingUIViewController { [vc1 performSelector:@selector(growingNodeContent)]; [vc1 performSelector:@selector(growingNodeKeyIndex)]; [vc1 performSelector:@selector(growingNodeSubPath)]; - [vc1 performSelector:@selector(growingNodeSubSimilarPath)]; + [vc1 performSelector:@selector(growingNodeSubIndex)]; + [vc1 performSelector:@selector(growingNodeSubSimilarIndex)]; [vc1 performSelector:@selector(growingNodeChilds)]; #pragma clang diagnostic pop } @@ -63,7 +64,8 @@ - (void)testGrowingUICollectionView { [view1 performSelector:@selector(growingNodeChilds)]; [cell performSelector:@selector(growingNodeKeyIndex)]; [cell performSelector:@selector(growingNodeSubPath)]; - [cell performSelector:@selector(growingNodeSubSimilarPath)]; + [cell performSelector:@selector(growingNodeSubIndex)]; + [cell performSelector:@selector(growingNodeSubSimilarIndex)]; [cell performSelector:@selector(growingNodeDonotCircle)]; [cell performSelector:@selector(growingNodeUserInteraction)]; [cell performSelector:@selector(growingViewUserInteraction)]; @@ -79,7 +81,8 @@ - (void)testGrowingUIView { UIView *view2 = [[UIView alloc] init]; [view2 performSelector:@selector(growingNodeKeyIndex)]; [view2 performSelector:@selector(growingNodeSubPath)]; - [view2 performSelector:@selector(growingNodeSubSimilarPath)]; + [view2 performSelector:@selector(growingNodeSubIndex)]; + [view2 performSelector:@selector(growingNodeSubSimilarIndex)]; [view2 performSelector:@selector(growingNodeChilds)]; [view2 performSelector:@selector(growingNodeParent)]; [view2 performSelector:@selector(growingViewNodeIsInvisiable)]; diff --git a/Example/GrowingAnalyticsTests/Helper/ManualTrackHelper.h b/Example/GrowingAnalyticsTests/Helper/ManualTrackHelper.h index 2296c9ae7..02a0cff20 100644 --- a/Example/GrowingAnalyticsTests/Helper/ManualTrackHelper.h +++ b/Example/GrowingAnalyticsTests/Helper/ManualTrackHelper.h @@ -31,8 +31,6 @@ + (BOOL)viewChangeEventCheck:(NSDictionary *)event; -+ (BOOL)hybridFormSubmitEventCheck:(NSDictionary *)event; - + (BOOL)contextOptionalPropertyCheck:(NSDictionary *)event; @end diff --git a/Example/GrowingAnalyticsTests/Helper/ManualTrackHelper.m b/Example/GrowingAnalyticsTests/Helper/ManualTrackHelper.m index c4e9008d9..b1d23c8a9 100644 --- a/Example/GrowingAnalyticsTests/Helper/ManualTrackHelper.m +++ b/Example/GrowingAnalyticsTests/Helper/ManualTrackHelper.m @@ -75,8 +75,8 @@ + (BOOL)viewClickEventCheck:(NSDictionary *)event { if (event.count == 0) { return NO; } - NSArray *protocol = [self.context arrayByAddingObjectsFromArray:@[@"path", @"xpath"]]; - NSArray *optional = @[@"textValue", @"index", @"hyperlink", @"query"]; + NSArray *protocol = [self.context arrayByAddingObjectsFromArray:@[@"xpath"]]; + NSArray *optional = @[@"path", @"textValue", @"index", @"hyperlink", @"query", @"xindex", @"xcontent"]; return [self protocolCheck:event protocol:protocol] && [self emptyPropertyCheck:event optional:optional]; } @@ -84,17 +84,8 @@ + (BOOL)viewChangeEventCheck:(NSDictionary *)event { if (event.count == 0) { return NO; } - NSArray *protocol = [self.context arrayByAddingObjectsFromArray:@[@"path", @"xpath"]]; - NSArray *optional = @[@"textValue", @"index", @"hyperlink", @"query"]; - return [self protocolCheck:event protocol:protocol] && [self emptyPropertyCheck:event optional:optional]; -} - -+ (BOOL)hybridFormSubmitEventCheck:(NSDictionary *)event { - if (event.count == 0) { - return NO; - } - NSArray *protocol = [self.context arrayByAddingObjectsFromArray:@[@"path", @"pageShowTimestamp", @"xpath"]]; - NSArray *optional = @[@"index", @"query"]; + NSArray *protocol = [self.context arrayByAddingObjectsFromArray:@[@"xpath"]]; + NSArray *optional = @[@"path", @"textValue", @"index", @"hyperlink", @"query", @"xindex", @"xcontent"]; return [self protocolCheck:event protocol:protocol] && [self emptyPropertyCheck:event optional:optional]; } @@ -261,7 +252,6 @@ + (NSArray *)context { @"domain", @"urlScheme", @"appState", - @"globalSequenceId", @"eventSequenceId", @"networkState", @"screenHeight", diff --git a/Example/GrowingAnalyticsTests/HostApplicationTests/AutotrackerTests/Event/A1ViewClickEventsTest.m b/Example/GrowingAnalyticsTests/HostApplicationTests/AutotrackerTests/Event/A1ViewClickEventsTest.m index b5eec1766..3f5e0443a 100644 --- a/Example/GrowingAnalyticsTests/HostApplicationTests/AutotrackerTests/Event/A1ViewClickEventsTest.m +++ b/Example/GrowingAnalyticsTests/HostApplicationTests/AutotrackerTests/Event/A1ViewClickEventsTest.m @@ -53,13 +53,11 @@ - (void)test01AlertButtonClick { XCTAssertTrue([ManualTrackHelper viewClickEventCheck:dic]); XCTAssertTrue([ManualTrackHelper contextOptionalPropertyCheck:dic]); - XCTAssertEqualObjects(dic[@"path"], - @"/UITabBarController/UINavigationController[1]/GIOLabelAttributeViewController[0]"); + XCTAssertEqualObjects(dic[@"path"], @""); XCTAssertEqualObjects(dic[@"textValue"], @"取消"); XCTAssertEqualObjects(dic[@"xpath"], - @"/Page/UIAlertController/UIView[0]/_UIAlertControllerInterfaceActionGroupView[0]/UIView[0]/" - @"_UIInterfaceActionRepresentationsSequenceView[0]/_UIInterfaceActionSeparatableSequenceView[0]/" - @"UIStackView[0]/_UIInterfaceActionCustomViewRepresentationView[1]/Button[0]"); + @"/UITabBarController/UINavigationController/GIOLabelAttributeViewController/_UIAlertControllerPhoneTVMacView/UIView/_UIAlertControllerInterfaceActionGroupView/UIView/_UIInterfaceActionRepresentationsSequenceView/_UIInterfaceActionSeparatableSequenceView/UIStackView/_UIInterfaceActionCustomViewRepresentationView/Button"); + XCTAssertEqualObjects(dic[@"xindex"], @"/0/1/0/0/0/0/0/0/0/0/1/0"); } { @@ -69,10 +67,10 @@ - (void)test01AlertButtonClick { XCTAssertTrue([ManualTrackHelper viewClickEventCheck:dic]); XCTAssertTrue([ManualTrackHelper contextOptionalPropertyCheck:dic]); - XCTAssertEqualObjects(dic[@"path"], - @"/UITabBarController/UINavigationController[1]/GIOLabelAttributeViewController[0]"); + XCTAssertEqualObjects(dic[@"path"], @""); XCTAssertEqualObjects(dic[@"textValue"], @"ShowAlert"); - XCTAssertEqualObjects(dic[@"xpath"], @"/Page/UIButton[3]"); + XCTAssertEqualObjects(dic[@"xpath"], @"/UITabBarController/UINavigationController/GIOLabelAttributeViewController/UIView/UIButton"); + XCTAssertEqualObjects(dic[@"xindex"], @"/0/1/0/0/3"); } } @@ -137,7 +135,8 @@ - (void)test03ButtonWithImageViewClick { XCTAssertTrue([ManualTrackHelper contextOptionalPropertyCheck:dic]); XCTAssertEqualObjects(dic[@"textValue"], @"Food"); - XCTAssertEqualObjects(dic[@"xpath"], @"/Page/UIView[0]/UIButton[0]"); + XCTAssertEqualObjects(dic[@"xpath"], @"/UITabBarController/UINavigationController/GIOSimpleUIElemtsViewController/UIView/UIView/UIButton"); + XCTAssertEqualObjects(dic[@"xindex"], @"/0/1/0/0/0/0"); } } @@ -158,7 +157,8 @@ - (void)test04UIViewButtonClick { XCTAssertTrue([ManualTrackHelper contextOptionalPropertyCheck:dic]); XCTAssertEqualObjects(dic[@"textValue"], @"Fire"); - XCTAssertEqualObjects(dic[@"xpath"], @"/Page/UIView[0]/UIButton[1]"); + XCTAssertEqualObjects(dic[@"xpath"], @"/UITabBarController/UINavigationController/GIOSimpleUIElemtsViewController/UIView/UIView/UIButton"); + XCTAssertEqualObjects(dic[@"xindex"], @"/0/1/0/0/0/1"); } } @@ -180,8 +180,9 @@ - (void)test05UISegmentedControlClick { XCTAssertTrue([ManualTrackHelper contextOptionalPropertyCheck:dic]); XCTAssertEqualObjects(dic[@"textValue"], @"Third"); - XCTAssertEqualObjects(dic[@"xpath"], @"/Page/UISegmentedControl[0]/UISegment[-]"); + XCTAssertEqualObjects(dic[@"xpath"], @"/UITabBarController/UINavigationController/GIOSimpleUIElemtsViewController/UIView/UISegmentedControl/UISegment"); XCTAssertEqualObjects(dic[@"index"], @(2)); + XCTAssertEqualObjects(dic[@"xindex"], @"/0/1/0/0/0/-"); } } @@ -208,7 +209,8 @@ - (void)test06ClickCustomContent { XCTAssertTrue([ManualTrackHelper contextOptionalPropertyCheck:dic]); XCTAssertEqualObjects(dic[@"textValue"], @"Water"); - XCTAssertEqualObjects(dic[@"xpath"], @"/Page/UIView[0]/UIButton[1]"); + XCTAssertEqualObjects(dic[@"xpath"], @"/UITabBarController/UINavigationController/GIOSimpleUIElemtsViewController/UIView/UIView/UIButton"); + XCTAssertEqualObjects(dic[@"xindex"], @"/0/1/0/0/0/1"); } [[viewTester usingLabel:@"好的"] tap]; diff --git a/Example/GrowingAnalyticsTests/HostApplicationTests/HybridTests/HybridTest_HostApp.m b/Example/GrowingAnalyticsTests/HostApplicationTests/HybridTests/HybridTest_HostApp.m index ca539b7b9..4dda091e9 100644 --- a/Example/GrowingAnalyticsTests/HostApplicationTests/HybridTests/HybridTest_HostApp.m +++ b/Example/GrowingAnalyticsTests/HostApplicationTests/HybridTests/HybridTest_HostApp.m @@ -198,6 +198,8 @@ - (void)test09SendMockViewClickEvent { XCTAssertEqualObjects(dic[@"domain"], @"test-browser.growingio.com"); XCTAssertEqualObjects(dic[@"path"], @"/push/web.html"); + XCTAssertEqualObjects(dic[@"xpath"], @"/div/button"); + XCTAssertEqualObjects(dic[@"xcontent"], @"/divClass/buttonId"); XCTAssertEqualObjects(dic[@"query"], @"a=1&b=2"); XCTAssertEqualObjects(dic[@"textValue"], @"登录"); } @@ -218,29 +220,12 @@ - (void)test10SendMockViewChangeEvent { XCTAssertEqualObjects(dic[@"domain"], @"test-browser.growingio.com"); XCTAssertEqualObjects(dic[@"path"], @"/push/web.html"); + XCTAssertEqualObjects(dic[@"xpath"], @"/div/form/input"); + XCTAssertEqualObjects(dic[@"xcontent"], @"/divClass/formClass/inputId"); XCTAssertEqualObjects(dic[@"query"], @"a=1&b=2"); XCTAssertEqualObjects(dic[@"textValue"], @"输入内容"); } -- (void)test11SendMockFormSubmitEvent { - KIFUIViewTestActor *actor = [viewTester usingLabel:@"HybridWebView"]; - [self webView:actor.view evaluateJavaScript:@"sendMockFormSubmitEvent()"]; - [viewTester waitForTimeInterval:1]; - - NSArray *events = [MockEventQueue.sharedQueue eventsFor:GrowingEventTypeFormSubmit]; - XCTAssertEqual(events.count, 1); - - GrowingHybridViewElementEvent *event = (GrowingHybridViewElementEvent *)events.firstObject; - NSDictionary *dic = event.toDictionary; - XCTAssertEqualObjects(dic[@"eventType"], GrowingEventTypeFormSubmit); - XCTAssertTrue([ManualTrackHelper hybridFormSubmitEventCheck:dic]); - XCTAssertTrue([ManualTrackHelper contextOptionalPropertyCheck:dic]); - - XCTAssertEqualObjects(dic[@"domain"], @"test-browser.growingio.com"); - XCTAssertEqualObjects(dic[@"path"], @"/push/web.html"); - XCTAssertEqualObjects(dic[@"query"], @"a=1&b=2"); -} - - (void)test12MockSetUserId { KIFUIViewTestActor *actor = [viewTester usingLabel:@"HybridWebView"]; [self webView:actor.view evaluateJavaScript:@"mockSetUserId('xctest_userId_hybrid')"]; diff --git a/Example/GrowingAnalyticsTests/ModulesTests/HybridTests/HybridTest.m b/Example/GrowingAnalyticsTests/ModulesTests/HybridTests/HybridTest.m index 722e925fc..61fab98e1 100644 --- a/Example/GrowingAnalyticsTests/ModulesTests/HybridTests/HybridTest.m +++ b/Example/GrowingAnalyticsTests/ModulesTests/HybridTests/HybridTest.m @@ -76,7 +76,6 @@ - (void)testGrowingHybridBridgeProvider { .setAppState(0) .setExtraParams(@{}) .setSessionId(@"testSessionId") - .setGlobalSequenceId(0) .setEventSequenceId(0) .setPlatformVersion(@"testPlatformVersion"); XCTAssertNotNil(builder); diff --git a/Example/GrowingAnalyticsTests/ModulesTests/ProtobufTests/ProtobufDatabaseTest.m b/Example/GrowingAnalyticsTests/ModulesTests/ProtobufTests/ProtobufDatabaseTest.m index 18d8d969c..d555aefa1 100644 --- a/Example/GrowingAnalyticsTests/ModulesTests/ProtobufTests/ProtobufDatabaseTest.m +++ b/Example/GrowingAnalyticsTests/ModulesTests/ProtobufTests/ProtobufDatabaseTest.m @@ -135,7 +135,6 @@ - (void)testDatabaseEventIO { .setDomain(@"com.bundle.id") .setUrlScheme(@"growing.xxxxxx") .setAppState(GrowingAppStateForeground) - .setGlobalSequenceId(999) .setEventSequenceId(999) .setExtraParams(@{@"dataSourceId" : @"123456", @"gioId" : @"654321"}) @@ -153,7 +152,6 @@ - (void)testDatabaseEventIO { .setSdkVersion(@"3.3.3") .setUserKey(@"iPhone") .setDataSourceId(@"1234567890") - .setGioId(@"1111") .build); NSString *uuid = [NSUUID UUID].UUIDString; GrowingEventProtobufPersistence *persistenceIn = [GrowingEventProtobufPersistence persistenceEventWithEvent:event @@ -184,10 +182,8 @@ - (void)testDatabaseEventIO { XCTAssertEqualObjects(event.domain ?: @"", protobuf.domain); XCTAssertEqualObjects(event.urlScheme ?: @"", protobuf.URLScheme); XCTAssertEqualObjects((event.appState == GrowingAppStateForeground ? @"FOREGROUND" : @"BACKGROUND"), protobuf.appState); - XCTAssertEqual(event.globalSequenceId, protobuf.globalSequenceId); XCTAssertEqual(event.eventSequenceId, protobuf.eventSequenceId); XCTAssertEqualObjects(event.dataSourceId, protobuf.dataSourceId); - XCTAssertEqualObjects(event.gioId, protobuf.gioId); // 3.2.0 XCTAssertEqualObjects(event.networkState ?: @"", protobuf.networkState); XCTAssertEqualObjects(event.appChannel ?: @"", protobuf.appChannel); diff --git a/Example/GrowingAnalyticsTests/ModulesTests/ProtobufTests/ProtobufEventsTest.m b/Example/GrowingAnalyticsTests/ModulesTests/ProtobufTests/ProtobufEventsTest.m index eb62f972a..e9696eba2 100644 --- a/Example/GrowingAnalyticsTests/ModulesTests/ProtobufTests/ProtobufEventsTest.m +++ b/Example/GrowingAnalyticsTests/ModulesTests/ProtobufTests/ProtobufEventsTest.m @@ -475,7 +475,6 @@ - (void)testEventConvertToPB_FormSubmit { GrowingHybridViewElementEvent *event = (GrowingHybridViewElementEvent *)(GrowingHybridViewElementEvent.builder .setEventType(GrowingEventTypeFormSubmit) .setPath(@"path") - .setPageShowTimestamp(1638857558209) .setXpath(@"xpath") .setIndex(1) .setQuery(@"query") @@ -485,7 +484,6 @@ - (void)testEventConvertToPB_FormSubmit { XCTAssertEqualObjects(GrowingEventTypeFormSubmit, event.eventType); XCTAssertEqual(GrowingPBEventType_FormSubmit, protobuf.eventType); XCTAssertEqualObjects(event.path ?: @"", protobuf.path); - XCTAssertEqual(event.pageShowTimestamp, protobuf.pageShowTimestamp); XCTAssertEqualObjects(event.xpath ?: @"", protobuf.xpath); XCTAssertEqual(event.index, protobuf.index); XCTAssertEqualObjects(event.query ?: @"", protobuf.query); @@ -499,7 +497,6 @@ - (void)testEventConvertToPB_FormSubmit { XCTAssertEqualObjects(GrowingEventTypeFormSubmit, event.eventType); XCTAssertEqual(GrowingPBEventType_FormSubmit, protobuf.eventType); XCTAssertEqualObjects(event.path ?: @"", protobuf.path); - XCTAssertEqual(event.pageShowTimestamp, protobuf.pageShowTimestamp); XCTAssertEqualObjects(event.xpath ?: @"", protobuf.xpath); XCTAssertEqual(event.index, protobuf.index); XCTAssertEqualObjects(event.query ?: @"", protobuf.query); @@ -522,10 +519,8 @@ - (void)contrastOfDefaultParamter:(GrowingBaseEvent *)event protobuf:(GrowingPBE XCTAssertEqualObjects(event.domain ?: @"", protobuf.domain); XCTAssertEqualObjects(event.urlScheme ?: @"", protobuf.URLScheme); XCTAssertEqualObjects((event.appState == GrowingAppStateForeground ? @"FOREGROUND" : @"BACKGROUND"), protobuf.appState); - XCTAssertEqual(event.globalSequenceId, protobuf.globalSequenceId); XCTAssertEqual(event.eventSequenceId, protobuf.eventSequenceId); XCTAssertEqualObjects(event.extraParams[@"dataSourceId"] ?: @"", protobuf.dataSourceId); - XCTAssertEqualObjects(event.extraParams[@"gioId"] ?: @"", protobuf.gioId); // 3.2.0 XCTAssertEqualObjects(event.networkState ?: @"", protobuf.networkState); XCTAssertEqualObjects(event.appChannel ?: @"", protobuf.appChannel); diff --git a/Example/GrowingAnalyticsTests/ModulesTests/WebCircleTests/WebCircleTest.m b/Example/GrowingAnalyticsTests/ModulesTests/WebCircleTests/WebCircleTest.m index 2308a6a32..34b0c9cb3 100644 --- a/Example/GrowingAnalyticsTests/ModulesTests/WebCircleTests/WebCircleTest.m +++ b/Example/GrowingAnalyticsTests/ModulesTests/WebCircleTests/WebCircleTest.m @@ -33,7 +33,7 @@ @interface GrowingWebCircle (XCTest) -- (NSMutableDictionary *)dictFromPage:(id)aNode xPath:(NSString *)xPath; +- (NSMutableDictionary *)dictFromPage:(GrowingPage *)page; - (unsigned long)getSnapshotKey; @@ -66,6 +66,12 @@ - (void)webSocket:(id )webSocket didReceiveMessage:(id) @end +@interface GrowingPageManager (XCTest) + +- (GrowingPage *)createdViewControllerPage:(UIViewController *)controller; + +@end + @interface WebCircleTest : XCTestCase @end @@ -107,7 +113,7 @@ - (void)testWebCircle { [[GrowingPageManager sharedInstance] createdViewControllerPage:current]; page = [current growingPageObject]; } - XCTAssertNotNil([circle dictFromPage:(id)current xPath:page.path]); + XCTAssertNotNil([circle dictFromPage:page]); XCTAssertNotNil([circle elements]); [circle sendScreenShot]; @@ -131,8 +137,9 @@ - (void)testWebCircleElement { .setZLevel(10) .setContent(@"test") .setXpath(@"Xpath") + .setXindex(@"xindex") .setNodeType(@"Button") - .setParentXPath(@"parentXPath") + .setParentXpath(@"parentXpath") .setIsContainer(YES) .setIndex(10) .setPage(@"page") @@ -147,10 +154,11 @@ - (void)testWebCircleElement { XCTAssertEqualObjects(dic[@"zLevel"], @10); XCTAssertEqualObjects(dic[@"content"], @"test"); XCTAssertEqualObjects(dic[@"xpath"], @"Xpath"); + XCTAssertEqualObjects(dic[@"xindex"], @"xindex"); XCTAssertEqualObjects(dic[@"nodeType"], @"Button"); XCTAssertEqualObjects(dic[@"isContainer"], @1); XCTAssertEqualObjects(dic[@"index"], @10); - XCTAssertEqualObjects(dic[@"parentXPath"], @"parentXPath"); + XCTAssertEqualObjects(dic[@"parentXpath"], @"parentXpath"); XCTAssertEqualObjects(dic[@"page"], @"page"); XCTAssertEqualObjects(dic[@"domain"], [GrowingDeviceInfo currentDeviceInfo].bundleID); } diff --git a/Example/GrowingAnalyticsTests/ServicesTests/DatabaseTests/JSONDatabaseTest.m b/Example/GrowingAnalyticsTests/ServicesTests/DatabaseTests/JSONDatabaseTest.m index 55df2566d..3a0a617d3 100644 --- a/Example/GrowingAnalyticsTests/ServicesTests/DatabaseTests/JSONDatabaseTest.m +++ b/Example/GrowingAnalyticsTests/ServicesTests/DatabaseTests/JSONDatabaseTest.m @@ -129,7 +129,6 @@ - (void)testDatabaseEventIO { .setDomain(@"com.bundle.id") .setUrlScheme(@"growing.xxxxxx") .setAppState(GrowingAppStateForeground) - .setGlobalSequenceId(999) .setEventSequenceId(999) .setExtraParams(@{@"dataSourceId": @"123456", @"gioId": @"654321"}) .setNetworkState(@"5G") @@ -177,7 +176,6 @@ - (void)testDatabaseEventIO { XCTAssertEqualObjects(event.urlScheme ?: @"", jsonObject[@"urlScheme"]); XCTAssertEqualObjects((event.appState == GrowingAppStateForeground ? @"FOREGROUND" : @"BACKGROUND"), jsonObject[@"appState"]); - XCTAssertEqual(event.globalSequenceId, ((NSNumber *)(jsonObject[@"globalSequenceId"])).longLongValue); XCTAssertEqual(event.eventSequenceId, ((NSNumber *)(jsonObject[@"eventSequenceId"])).longLongValue); // 3.2.0 XCTAssertEqualObjects(event.networkState ?: @"", jsonObject[@"networkState"]); diff --git a/Podfile.lock b/Podfile.lock index 72b708712..51ee40855 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -1,61 +1,61 @@ PODS: - - GrowingAnalytics/Advert (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/APM (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) + - GrowingAnalytics/Advert (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/APM (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) - GrowingAPM/Core - - GrowingAnalytics/Autotracker (3.4.8-hotfix.1): - - GrowingAnalytics/AutotrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/DefaultServices (= 3.4.8-hotfix.1) - - GrowingAnalytics/Hybrid (= 3.4.8-hotfix.1) - - GrowingAnalytics/MobileDebugger (= 3.4.8-hotfix.1) - - GrowingAnalytics/WebCircle (= 3.4.8-hotfix.1) - - GrowingAnalytics/AutotrackerCore (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) + - GrowingAnalytics/Autotracker (3.5.0): + - GrowingAnalytics/AutotrackerCore (= 3.5.0) + - GrowingAnalytics/DefaultServices (= 3.5.0) + - GrowingAnalytics/Hybrid (= 3.5.0) + - GrowingAnalytics/MobileDebugger (= 3.5.0) + - GrowingAnalytics/WebCircle (= 3.5.0) + - GrowingAnalytics/AutotrackerCore (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) - GrowingUtils/AutotrackerCore (= 0.0.5) - - GrowingAnalytics/Compression (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/Database (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/DefaultServices (3.4.8-hotfix.1): - - GrowingAnalytics/Compression (= 3.4.8-hotfix.1) - - GrowingAnalytics/Database (= 3.4.8-hotfix.1) - - GrowingAnalytics/Encryption (= 3.4.8-hotfix.1) - - GrowingAnalytics/Network (= 3.4.8-hotfix.1) - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/Encryption (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/Hybrid (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/MobileDebugger (3.4.8-hotfix.1): - - GrowingAnalytics/Screenshot (= 3.4.8-hotfix.1) - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/WebSocket (= 3.4.8-hotfix.1) - - GrowingAnalytics/Network (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/Protobuf (3.4.8-hotfix.1): - - GrowingAnalytics/Database (= 3.4.8-hotfix.1) - - GrowingAnalytics/Protobuf/Proto (= 3.4.8-hotfix.1) - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/Protobuf/Proto (3.4.8-hotfix.1): - - GrowingAnalytics/Database (= 3.4.8-hotfix.1) - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) + - GrowingAnalytics/Compression (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/Database (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/DefaultServices (3.5.0): + - GrowingAnalytics/Compression (= 3.5.0) + - GrowingAnalytics/Database (= 3.5.0) + - GrowingAnalytics/Encryption (= 3.5.0) + - GrowingAnalytics/Network (= 3.5.0) + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/Encryption (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/Hybrid (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/MobileDebugger (3.5.0): + - GrowingAnalytics/Screenshot (= 3.5.0) + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/WebSocket (= 3.5.0) + - GrowingAnalytics/Network (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/Protobuf (3.5.0): + - GrowingAnalytics/Database (= 3.5.0) + - GrowingAnalytics/Protobuf/Proto (= 3.5.0) + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/Protobuf/Proto (3.5.0): + - GrowingAnalytics/Database (= 3.5.0) + - GrowingAnalytics/TrackerCore (= 3.5.0) - Protobuf - - GrowingAnalytics/Screenshot (3.4.8-hotfix.1): + - GrowingAnalytics/Screenshot (3.5.0): - GrowingAnalytics/TrackerCore - - GrowingAnalytics/Tracker (3.4.8-hotfix.1): - - GrowingAnalytics/DefaultServices (= 3.4.8-hotfix.1) - - GrowingAnalytics/MobileDebugger (= 3.4.8-hotfix.1) - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/TrackerCore (3.4.8-hotfix.1): + - GrowingAnalytics/Tracker (3.5.0): + - GrowingAnalytics/DefaultServices (= 3.5.0) + - GrowingAnalytics/MobileDebugger (= 3.5.0) + - GrowingAnalytics/TrackerCore (= 3.5.0) + - GrowingAnalytics/TrackerCore (3.5.0): - GrowingUtils/TrackerCore (= 0.0.5) - - GrowingAnalytics/WebCircle (3.4.8-hotfix.1): - - GrowingAnalytics/AutotrackerCore (= 3.4.8-hotfix.1) - - GrowingAnalytics/Hybrid (= 3.4.8-hotfix.1) - - GrowingAnalytics/Screenshot (= 3.4.8-hotfix.1) - - GrowingAnalytics/WebSocket (= 3.4.8-hotfix.1) - - GrowingAnalytics/WebSocket (3.4.8-hotfix.1): - - GrowingAnalytics/TrackerCore (= 3.4.8-hotfix.1) + - GrowingAnalytics/WebCircle (3.5.0): + - GrowingAnalytics/AutotrackerCore (= 3.5.0) + - GrowingAnalytics/Hybrid (= 3.5.0) + - GrowingAnalytics/Screenshot (= 3.5.0) + - GrowingAnalytics/WebSocket (= 3.5.0) + - GrowingAnalytics/WebSocket (3.5.0): + - GrowingAnalytics/TrackerCore (= 3.5.0) - GrowingAPM (0.0.14): - GrowingAPM/Core (= 0.0.14) - GrowingAPM/CrashMonitor (= 0.0.14) @@ -147,7 +147,7 @@ EXTERNAL SOURCES: :path: "./" SPEC CHECKSUMS: - GrowingAnalytics: 9c4c3c7e33523f3daba012a06f0f419b77e02544 + GrowingAnalytics: 80b480f3c662876f701eea99caf3164661f1aee4 GrowingAPM: 79fe4f4a12d94432fa4a552d56c41940ea13961a GrowingToolsKit: 88b144e858f8895f1d84c518642ce34ce0f5aa07 GrowingUtils: 5212c5c0501ea0c3863a29c33ccefbde5be77353