Skip to content

Commit

Permalink
fix(autotrack): ignore pages in GioKit by moving autotrackAllPages lo…
Browse files Browse the repository at this point in the history
…gic to viewDidLoad (#302)
  • Loading branch information
YoloMao committed Mar 15, 2024
1 parent 4fad445 commit 59e5cdd
Showing 1 changed file with 16 additions and 14 deletions.
30 changes: 16 additions & 14 deletions GrowingAutotrackerCore/Page/GrowingPageManager.m
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,22 @@ - (void)start {
});
}

- (void)viewControllerDidLoad:(UIViewController *)controller {
if (controller.growingPageAlias == nil /* !page.isAutotrack */) {
// 首次进入该controller,获取初始化autotrackPage配置
GrowingTrackConfiguration *configuration = GrowingConfigurationManager.sharedInstance.trackConfiguration;
if ([configuration isKindOfClass:[GrowingAutotrackConfiguration class]]) {
GrowingAutotrackConfiguration *autotrackConfiguration = (GrowingAutotrackConfiguration *)configuration;
NSString *controllerClass = NSStringFromClass([controller class]);
if (autotrackConfiguration.autotrackAllPages) {
controller.growingPageAlias = controllerClass;
} else if (autotrackConfiguration.autotrackPagesWhiteList != nil) {
controller.growingPageAlias = autotrackConfiguration.autotrackPagesWhiteList[controllerClass];
}
}
}
}

- (void)viewControllerDidAppear:(UIViewController *)controller {
if (![self isPrivateViewController:controller]) {
GrowingPage *page = [self createdViewControllerPage:controller];
Expand Down Expand Up @@ -89,20 +105,6 @@ - (GrowingPage *)createdViewControllerPage:(UIViewController *)controller {
GrowingPage *page = [controller growingPageObject];
if (!page) {
page = [self createdPage:controller];

if (!page.isAutotrack) {
// 首次进入该controller,获取初始化autotrackPage配置
GrowingTrackConfiguration *configuration = GrowingConfigurationManager.sharedInstance.trackConfiguration;
if ([configuration isKindOfClass:[GrowingAutotrackConfiguration class]]) {
GrowingAutotrackConfiguration *autotrackConfiguration = (GrowingAutotrackConfiguration *)configuration;
NSString *controllerClass = NSStringFromClass([controller class]);
if (autotrackConfiguration.autotrackAllPages) {
controller.growingPageAlias = controllerClass;
} else if (autotrackConfiguration.autotrackPagesWhiteList != nil) {
controller.growingPageAlias = autotrackConfiguration.autotrackPagesWhiteList[controllerClass];
}
}
}
} else {
[page refreshShowTimestamp];
}
Expand Down

0 comments on commit 59e5cdd

Please sign in to comment.