diff --git a/keyBoard.xcodeproj/project.pbxproj b/keyBoard.xcodeproj/project.pbxproj index 392c881..e22c170 100644 --- a/keyBoard.xcodeproj/project.pbxproj +++ b/keyBoard.xcodeproj/project.pbxproj @@ -1736,7 +1736,7 @@ ); GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = CustomKeyboard/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = "我的输入法"; + INFOPLIST_KEY_CFBundleDisplayName = "Key of Love"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; IPHONEOS_DEPLOYMENT_TARGET = 15; LD_RUNPATH_SEARCH_PATHS = ( @@ -1769,7 +1769,7 @@ ); GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = CustomKeyboard/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = "我的输入法"; + INFOPLIST_KEY_CFBundleDisplayName = "Key of Love"; INFOPLIST_KEY_NSHumanReadableCopyright = ""; IPHONEOS_DEPLOYMENT_TARGET = 15; LD_RUNPATH_SEARCH_PATHS = ( @@ -1804,7 +1804,7 @@ ); GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = keyBoard/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = "YOLO输入法"; + INFOPLIST_KEY_CFBundleDisplayName = "Key of Love"; INFOPLIST_KEY_CFBundleURLTypes = "{\n CFBundleURLName = \"com.loveKey.nyx.keyboard\";\n CFBundleURLSchemes = (\n kbkeyboardAppExtension\n );\n}"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; @@ -1848,7 +1848,7 @@ ); GENERATE_INFOPLIST_FILE = YES; INFOPLIST_FILE = keyBoard/Info.plist; - INFOPLIST_KEY_CFBundleDisplayName = "YOLO输入法"; + INFOPLIST_KEY_CFBundleDisplayName = "Key of Love"; INFOPLIST_KEY_CFBundleURLTypes = "{\n CFBundleURLName = \"com.loveKey.nyx.keyboard\";\n CFBundleURLSchemes = (\n kbkeyboardAppExtension\n );\n}"; INFOPLIST_KEY_UIApplicationSupportsIndirectInputEvents = YES; INFOPLIST_KEY_UILaunchStoryboardName = LaunchScreen; diff --git a/keyBoard/Class/Guard/VC/KBGuideVC.m b/keyBoard/Class/Guard/VC/KBGuideVC.m index 0af12e2..d822819 100644 --- a/keyBoard/Class/Guard/VC/KBGuideVC.m +++ b/keyBoard/Class/Guard/VC/KBGuideVC.m @@ -136,6 +136,12 @@ typedef NS_ENUM(NSInteger, KBGuideItemType) { // [UIView performWithoutAnimation:^{ self.permVC.view.hidden = !show; // }]; + + // 若权限已满足(引导未显示),从设置返回时尝试让输入框成为第一响应者, + // 以便立刻触发键盘挂载并检测是否为自家键盘/是否已开启完全访问 + if (!show) { + [self kb_tryActivateTextFieldIfReady]; + } } /// 提前创建权限引导页覆盖层(仅一次) @@ -270,6 +276,21 @@ typedef NS_ENUM(NSInteger, KBGuideItemType) { [KBHUD showInfo:(isMine ? @"是自己的键盘" : @"❎不是自己的键盘")]; } +/// 当权限满足时,尽力激活输入框,从而触发键盘挂载与输入法检测 +- (void)kb_tryActivateTextFieldIfReady { + // 权限未满足或存在覆盖层时不处理 + if (self.permVC && self.permVC.view.hidden == NO) return; + // 视图未显示到窗口上时不处理(避免早期调用无效) + if (!self.view.window) return; + // 若未成为第一响应者,则尝试激活并在下一轮循环评估一次 + if (![self.textField isFirstResponder]) { + [self.textField becomeFirstResponder]; + } + dispatch_async(dispatch_get_main_queue(), ^{ + [self kb_evaluateCurrentInputModeAndNotifyIfNeeded]; + }); +} + #pragma mark - UITableView - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {