This commit is contained in:
2025-10-30 20:23:34 +08:00
parent 9af91cc4bc
commit 247a87891e
8 changed files with 302 additions and 17 deletions

View File

@@ -11,6 +11,8 @@
#import <Bugly/Bugly.h>
#import "BaseTabBarController.h"
#import "LoginViewController.h"
#import "KBLoginSheetViewController.h"
#import "AppleSignInManager.h"
// bundle id target
// PRODUCT_BUNDLE_IDENTIFIER
@@ -44,7 +46,7 @@ static NSString * const kKBKeyboardExtensionBundleId = @"com.keyBoardst.CustomKe
self.window = [[UIWindow alloc] initWithFrame:[[UIScreen mainScreen] bounds]];
self.window.backgroundColor = [UIColor whiteColor];
[self.window makeKeyAndVisible];
LoginViewController *vc = [[LoginViewController alloc] init];
BaseTabBarController *vc = [[BaseTabBarController alloc] init];
self.window.rootViewController = vc;
}
@@ -61,6 +63,32 @@ static NSString * const kKBKeyboardExtensionBundleId = @"com.keyBoardst.CustomKe
return top;
}
#pragma mark - Deep Link
// iOS 9+
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey,id> *)options {
if (!url) return NO;
if ([[url.scheme lowercaseString] isEqualToString:@"kbkeyboard"]) {
// kbkeyboard://login
if ([[url.host lowercaseString] isEqualToString:@"login"]) {
[self kb_presentLoginSheetIfNeeded];
return YES;
}
return NO;
}
return NO;
}
- (void)kb_presentLoginSheetIfNeeded {
//
BOOL loggedIn = ([AppleSignInManager shared].storedUserIdentifier.length > 0);
if (loggedIn) return;
UIViewController *top = [self kb_topMostViewController];
if (!top) return;
[KBLoginSheetViewController presentIfNeededFrom:top];
}
- (void)kb_presentPermissionIfNeeded
{
BOOL enabled = KBIsKeyboardEnabled();