refactor: 重构 AppDelegate 以优化启动流程和 UI 配置
主要变更: 1. 新增 setupUIAppearance 和 setupConfig 方法,提升代码结构和可读性。 2. 移除冗余的 iOS 15 适配代码,集中管理 UI 外观设置。 3. 更新 EPConfigManager 的调用逻辑,确保配置成功后初始化 NIMSDK。 4. 引入 ignoreVAPLog 方法,简化日志处理逻辑。 此更新旨在提升应用启动效率和代码的可维护性。
This commit is contained in:
@@ -55,14 +55,32 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
self.window.rootViewController = launchScreenVC;
|
||||
[self.window makeKeyAndVisible];
|
||||
|
||||
[VAPView registerHWDLog:qg_VAP_Logger_handler];
|
||||
[self setupUIAppearance];
|
||||
|
||||
[self setupConfig];
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
- (void)setupUIAppearance {
|
||||
if (@available(iOS 15, *)) {
|
||||
[[UITableView appearance] setSectionHeaderTopPadding:0];
|
||||
}
|
||||
}
|
||||
|
||||
- (void)setupConfig {
|
||||
// 冷启动配置:client/init → client/config,由 EPConfigManager 统一调度
|
||||
@kWeakify(self);
|
||||
[[EPConfigManager shared] startColdBootWithOnSuccess:^{
|
||||
@kStrongify(self);
|
||||
if (!self) return;
|
||||
|
||||
// 配置成功,初始化 NIMSDK 并进入主页面
|
||||
@kWeakify(self);
|
||||
[[EPNIMManager sharedManager] initializeWithCompletion:^(NSError * _Nullable error) {
|
||||
@kStrongify(self);
|
||||
if (!self) return;
|
||||
|
||||
if (error) {
|
||||
NSLog(@"[AppDelegate] NIMSDK 初始化失败: %@", error);
|
||||
} else {
|
||||
@@ -73,6 +91,8 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
}];
|
||||
} onFailure:^(NSString * _Nonnull errorMessage) {
|
||||
@kStrongify(self);
|
||||
if (!self) return;
|
||||
|
||||
// 配置失败,显示错误提示
|
||||
UIAlertController *alert = [UIAlertController alertControllerWithTitle:YMLocalizedString(@"提示")
|
||||
message:errorMessage
|
||||
@@ -80,16 +100,8 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
[alert addAction:[UIAlertAction actionWithTitle:YMLocalizedString(@"确定") style:UIAlertActionStyleDefault handler:nil]];
|
||||
[self.window.rootViewController presentViewController:alert animated:YES completion:nil];
|
||||
}];
|
||||
|
||||
if (@available(iOS 15, *)) {
|
||||
[[UITableView appearance] setSectionHeaderTopPadding:0];
|
||||
}
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
// MARK: - Helper Methods
|
||||
|
||||
- (void)loadMainPage {
|
||||
AccountModel *accountModel = [[AccountInfoStorage instance] getCurrentAccountInfo];
|
||||
if (accountModel == nil ||
|
||||
@@ -104,9 +116,13 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const
|
||||
[self checkAndShowSignatureColorGuide];
|
||||
});
|
||||
}
|
||||
|
||||
[self ignoreVAPLog];
|
||||
}
|
||||
|
||||
// 移除 EPConfig 通知相关方法,改用 block 回调
|
||||
- (void)ignoreVAPLog {
|
||||
[VAPView registerHWDLog:qg_VAP_Logger_handler];
|
||||
}
|
||||
|
||||
/// 检查并显示专属颜色引导页
|
||||
- (void)checkAndShowSignatureColorGuide {
|
||||
|
Reference in New Issue
Block a user