pop aboutView upon first app launch

This commit is contained in:
TrueZhuanjia committed 2025-07-24 20:50:19 +08:00
1 parent 75e88ee31e
commit 619e936c39
2 files changed
+21 -7

No files matched your search

@@ -1134,7 +1134,7 @@ static NSMutableSet* hostList;
if(self.settingsExpandedInStreamView) [revealController buttonsInStreaming]; if(self.settingsExpandedInStreamView) [revealController buttonsInStreaming];
else [revealController buttonsNotInStreaming]; else [revealController buttonsNotInStreaming];
DataManager* dataMan = [[DataManager alloc] init]; // DataManager* dataMan = [[DataManager alloc] init];
// TemporarySettings* currentSettings = [dataMan getSettings]; // TemporarySettings* currentSettings = [dataMan getSettings];
[streamFrameViewController setUserInteractionEnabledForStreamView:!_settingsExpandedInStreamView || position == FrontViewPositionLeft]; [streamFrameViewController setUserInteractionEnabledForStreamView:!_settingsExpandedInStreamView || position == FrontViewPositionLeft];
@@ -1270,6 +1270,19 @@ static NSMutableSet* hostList;
} }
} }
- (BOOL)isFirstLaunch {
NSString *key = @"appHasLaunchedBefore";
BOOL launchedBefore = [[NSUserDefaults standardUserDefaults] boolForKey:key];
if (!launchedBefore) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize]; // iOS 12+ 可省略
return YES;
}
return NO;
}
- (bool)isIPhone{ - (bool)isIPhone{
return ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone); return ([UIDevice currentDevice].userInterfaceIdiom == UIUserInterfaceIdiomPhone);
} }
@@ -1775,6 +1788,7 @@ static NSMutableSet* hostList;
//[self simulateSettingsButtonPress]; //force reload resolution table in the setting //[self simulateSettingsButtonPress]; //force reload resolution table in the setting
//[self simulateSettingsButtonPress]; //[self simulateSettingsButtonPress];
[self updateResolutionAccordingly]; [self updateResolutionAccordingly];
if([self isFirstLaunch])[self helpButtonTapped];
} }
@@ -137,11 +137,11 @@
} }
} }
- (BOOL)isFirstLaunch { - (BOOL)isFirstStreaming {
NSString *key = @"hasLaunchedBefore"; NSString *key = @"hasStreamedBefore";
BOOL launchedBefore = [[NSUserDefaults standardUserDefaults] boolForKey:key]; BOOL streamedBefore = [[NSUserDefaults standardUserDefaults] boolForKey:key];
if (!launchedBefore) { if (!streamedBefore) {
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:key]; [[NSUserDefaults standardUserDefaults] setBool:YES forKey:key];
[[NSUserDefaults standardUserDefaults] synchronize]; // iOS 12+ 可省略 [[NSUserDefaults standardUserDefaults] synchronize]; // iOS 12+ 可省略
return YES; return YES;
@@ -419,7 +419,7 @@
} }
#endif #endif
- (void)popFirstLaunchTip { - (void)popFirstStreamingTip {
// 初始化倒计时秒数 // 初始化倒计时秒数
__block NSInteger remainingSeconds = 16; __block NSInteger remainingSeconds = 16;
@@ -535,7 +535,7 @@
//[_streamView setupStreamView:_controllerSupport interactionDelegate:self config:self.streamConfig]; //[_streamView setupStreamView:_controllerSupport interactionDelegate:self config:self.streamConfig];
[self reConfigStreamViewRealtime]; // call this method again to make sure all gestures are configured & added to the superview(self.view), including the gestures added from inside the streamview. [self reConfigStreamViewRealtime]; // call this method again to make sure all gestures are configured & added to the superview(self.view), including the gestures added from inside the streamview.
if([self isFirstLaunch]) [self popFirstLaunchTip]; if([self isFirstStreaming]) [self popFirstStreamingTip];
#if TARGET_OS_TV #if TARGET_OS_TV
if (!_menuTapGestureRecognizer || !_menuDoubleTapGestureRecognizer || !_playPauseTapGestureRecognizer) { if (!_menuTapGestureRecognizer || !_menuDoubleTapGestureRecognizer || !_playPauseTapGestureRecognizer) {