Commit 50998729 by pierce

1、Tabbar 模块

2、fixed 登录成功后闪退的问题
parent bef88438
Showing with 899 additions and 108 deletions
......@@ -28,6 +28,8 @@
//根据图片名称获取图片
+ (UIImage *_Nullable)imageNamed:(NSString *_Nullable)imageName;
+ (nullable NSArray<UIImage *> *)animatedImageArrayNamed:(NSString * __nonnull)name;
+ (nullable UIImage *)animatedImageNamed:(NSString * __nonnull)name duration:(NSTimeInterval)duration;
+ (nullable UIImage *)imageWithContentFile:(NSString *__nonnull)imageName inBundle:(NSBundle *_Nullable)bundle;
......
......@@ -46,6 +46,12 @@
+ (nullable UIImage *)animatedImageWithContentFile:(NSString *)name duration:(NSTimeInterval)duration {
NSArray *images = [self animatedImageArrayNamed:name];
return [UIImage animatedImageWithImages:images duration:duration];
}
+ (nullable NSArray<UIImage *> *)animatedImageArrayNamed:(NSString * __nonnull)name {
NSMutableArray *images = [NSMutableArray array];
for (NSInteger i = 0; i < 40; i++) {
UIImage *image = [self imageWithContentFile:[NSString stringWithFormat:@"%@%zd",name,i] inBundle:[self.class bundle]];
......@@ -53,7 +59,7 @@
[images addObject:image];
}
}
return [UIImage animatedImageWithImages:images duration:duration];
return images;
}
+ (nullable UIImage *)animatedImageWithContentFile:(NSString *)name count:(NSInteger)count duration:(NSTimeInterval)duration {
......
......@@ -10,7 +10,7 @@ import RxSwift
import RxCocoa
// 不用这个
@objc public protocol GDBaseBussinessRouter {
@objc public protocol GDBaseBussinessRouter: GDRouterProtocol {
}
......
......@@ -15,7 +15,7 @@ public struct GDChatRoomArchieveKey {
}
// 不用这个
@objc public protocol GDChatRoomRouter {
@objc public protocol GDChatRoomRouter: GDRouterProtocol {
}
......
......@@ -17,7 +17,7 @@ public struct GDDataManagerPublicUDKeys {
}
// 不用这个
@objc public protocol GDDataManagerRouter {
@objc public protocol GDDataManagerRouter: GDRouterProtocol {
}
......
......@@ -75,7 +75,7 @@ struct GDEnviromentModel {
}
// 不用这个
@objc public protocol GDHostManagerRouter { }
@objc public protocol GDHostManagerRouter: GDRouterProtocol { }
public protocol GDHostManagerSwiftRouter: GDHostManagerRouter {
......
......@@ -14,10 +14,12 @@ public struct GDLoginAndRegistPublicUDKey {
}
// 不用这个
@objc public protocol GDLoginAndRegistRouter {
@objc public protocol GDLoginAndRegistRouter: GDRouterProtocol {
}
public protocol GDLoginAndRegistSwiftRouter: GDLoginAndRegistRouter {
func showVisitorLoginView(vc: UIViewController?, showPhoneLogin: Bool)
func bringSplashViewToFront()
func removeSplashView()
}
//
// GDMyModuleRouter.swift
// GDRouter
//
// Created by pierce on 2024/1/16.
//
import Foundation
// 不用这个
@objc public protocol GDMyModuleRouter: GDRouterProtocol {
}
public protocol GDMyModuleSwiftRouter: GDMyModuleRouter {
}
//
// GDSearchRouter.swift
// GDRouter
//
// Created by pierce on 2024/1/16.
//
import Foundation
// 不用这个
@objc public protocol GDSearchRouter: GDRouterProtocol {
}
public protocol GDSearchSwiftRouter: GDSearchRouter {
}
......@@ -121,7 +121,7 @@ public enum GDSocial {
}
// 不用这个
@objc public protocol GDSocialCenterRouter {
@objc public protocol GDSocialCenterRouter: GDRouterProtocol {
}
......
//
// GDSquareRouter.swift
// GDRouter
//
// Created by pierce on 2024/1/16.
//
import Foundation
// 不用这个
@objc public protocol GDSquareRouter: GDRouterProtocol {
}
public protocol GDSquareSwiftRouter: GDSquareRouter {
}
//
// GDTabbarRouter.swift
// GDRouter
//
// Created by pierce on 2024/1/16.
//
import Foundation
// 不用这个
@objc public protocol GDTabbarRouter: GDRouterProtocol {
}
public protocol GDTabbarSwiftRouter: GDTabbarRouter {
var tabbarVC: UITabBarController? { get }
}
......@@ -21,7 +21,7 @@ public enum GDEnv: Int {
}
// 不用这个
@objc public protocol GDTestRouter {
@objc public protocol GDTestRouter: GDRouterProtocol {
}
public protocol GDTestSwiftRouter: GDTestRouter {
......
......@@ -26,7 +26,7 @@ public struct GDUserManagerPublicUDKey {
}
// 不用这个
@objc public protocol GDUserManagerRouter {
@objc public protocol GDUserManagerRouter: GDRouterProtocol {
}
......
//
// GDUserZoneRouter.swift
// GDRouter
//
// Created by pierce on 2024/1/16.
//
import Foundation
// 不用这个
@objc public protocol GDUserZoneRouter: GDRouterProtocol {
}
public protocol GDUserZoneSwiftRouter: GDUserZoneRouter {
}
......@@ -12,16 +12,17 @@ import Bifrost
public class GDRouter: NSObject {
@objc public static func loginSuccessSetup() {
for module in Bifrost.allRegisteredModules() {
if let module = module as? GDRouterProtocol {
for moduleClass in Bifrost.allRegisteredModules() {
if let module = moduleClass.sharedInstance() as? GDRouterProtocol {
module.loginSuccessSetup()
}
}
}
@objc public static func loginOut() {
for module in Bifrost.allRegisteredModules() {
if let module = module as? GDRouterProtocol {
for moduleClass in Bifrost.allRegisteredModules() {
if let module = moduleClass.sharedInstance() as? GDRouterProtocol {
module.loginOut()
}
}
......@@ -66,5 +67,31 @@ public class GDRouter: NSObject {
public static var SocialCenter: GDSocialCenterSwiftRouter? {
Bifrost.module(byService: GDSocialCenterRouter.self) as? GDSocialCenterSwiftRouter
}
/// Tabbar
public static var Tabbar: GDTabbarSwiftRouter? {
Bifrost.module(byService: GDTabbarRouter.self) as? GDTabbarSwiftRouter
}
/// 我的
public static var MyModule: GDMyModuleSwiftRouter? {
Bifrost.module(byService: GDMyModuleRouter.self) as? GDMyModuleSwiftRouter
}
/// 空间
public static var UserZone: GDUserZoneSwiftRouter? {
Bifrost.module(byService: GDUserZoneRouter.self) as? GDUserZoneSwiftRouter
}
/// 搜索
public static var Search: GDSearchSwiftRouter? {
Bifrost.module(byService: GDSearchRouter.self) as? GDSearchSwiftRouter
}
/// 广场
public static var Square: GDSquareSwiftRouter? {
Bifrost.module(byService: GDSquareRouter.self) as? GDSquareSwiftRouter
}
}
......@@ -13,6 +13,14 @@ import RxSwift
import UMCommon
@objc public class GDBaseBussinessModule: NSObject, GDBaseBussinessSwiftRouter {
@objc public func loginSuccessSetup() {
}
@objc public func loginOut() {
}
public var isCurrentVersionVerified: BehaviorRelay<Bool> { Application.shared.isCurrentVersionVerified }
......
......@@ -22,7 +22,7 @@ import Bifrost
}
extension GDDataManagerModule: GDRouterProtocol {
public func loginSuccessSetup() {
@objc public func loginSuccessSetup() {
// 拉取单聊礼物
GDResourceCenter.shared.checkChatGiftData(from: .server)// 校验数据
GDDataManager.shared.checkData()
......@@ -36,14 +36,14 @@ extension GDDataManagerModule: GDRouterProtocol {
if let token = UserDefaults.standard.object(forKey: GDCommonUDKey.apnsPushNotificationToken) as? String {
// 上报Token
GDDataManagerHttpHelper.shared.uploadAPNSPushToke(pushToken: token).subscribe { json in
} onFailure: { error in
}.disposed(by: disposeBag)
}
}
public func loginOut() {
@objc public func loginOut() {
}
}
......
......@@ -181,22 +181,20 @@ class GDSplashView: BaseView {
}
if GDRouter.UserRouter?.isLogin.value == true {
//TODO:tabbar: added By Pidan
// if let tabbarVC = UIApplication.shared.keyWindow?.rootViewController as? GDTabBarViewController {
//
// let splashUrl = GDRouter.DataRouter?.splashModel.value?.url
//
// if isValidString(splashUrl) {
// let webVC = GDWebViewController(url: splashUrl ?? "")
// webVC.hidesBottomBarWhenPushed = true
//
// if let naviVC = tabbarVC.selectedViewController as? BaseNavigationController {
// self?.dismiss()
// naviVC.pushViewController(webVC, animated: true)
// }
// }
//
// }
if let tabbarVC = UIApplication.shared.keyWindow?.rootViewController as? UITabBarController {
let splashUrl = GDRouter.DataRouter?.splashModel.value?.url
if isValidString(splashUrl) {
let webVC = GDWebViewController(url: splashUrl ?? "")
webVC.hidesBottomBarWhenPushed = true
if let naviVC = tabbarVC.selectedViewController as? BaseNavigationController {
self?.dismiss()
naviVC.pushViewController(webVC, animated: true)
}
}
}
} else {
GDRouter.UserRouter?.openSplashWhenLogin = true
......
......@@ -13,10 +13,47 @@ import Bifrost
@objc public class GDLoginAndRegistModule: NSObject, GDLoginAndRegistSwiftRouter {
let disposeBag = DisposeBag()
public func showVisitorLoginView(vc: UIViewController? = nil, showPhoneLogin: Bool = false) {
let loginVC = LoginViewController()
let navigationVC = BaseNavigationController(rootViewController: loginVC)
navigationVC.modalPresentationStyle = .fullScreen
if let vc = vc {
vc.present(navigationVC, animated: true, completion: nil)
} else {
UIApplication.shared.keyWindow?.rootViewController?.present(navigationVC, animated: true, completion: nil)
}
if showPhoneLogin {
loginVC.visitorDirectPhoneLogin = true
delay(0.35) {
loginVC.phoneNumberLogin()
}
}
}
public func bringSplashViewToFront() {
if let splashView = UIApplication.shared.keyWindow?.viewWithTag(splashViewTag) {
UIApplication.shared.keyWindow?.bringSubviewToFront(splashView)
}
}
public func removeSplashView() {
if let splashView = UIApplication.shared.keyWindow?.viewWithTag(splashViewTag) {
UIApplication.shared.keyWindow?.bringSubviewToFront(splashView)
}
}
}
extension GDLoginAndRegistModule: GDRouterProtocol {
public func loginSuccessSetup() {
@objc public func loginSuccessSetup() {
// 检测是否需要绑定手机
if GDRouter.UserRouter?.user.value.phone?.count == 0 && GDRouter.UserRouter?.newRegisterUser.value == false {
......@@ -31,7 +68,7 @@ extension GDLoginAndRegistModule: GDRouterProtocol {
}
}
public func loginOut() {
@objc public func loginOut() {
}
}
......
......@@ -25,11 +25,18 @@ extension GDSocial.Target {
}
}
public class GDSocialCenterModule: NSObject, GDSocialCenterRouter {
public class GDSocialCenterModule: NSObject, GDSocialCenterSwiftRouter {
@objc public func loginSuccessSetup() {
}
@objc public func loginOut() {
}
/// 第三方登录
/// - Parameter model: 登录数据 Model
func login(with model: GDSocialLoginModel, vc: UIViewController?) {
public func login(with model: GDSocialLoginModel, vc: UIViewController?) {
GDSocialPlatCenter.shared.login(with: model, vc: vc)
}
}
......@@ -47,7 +54,7 @@ extension GDSocialCenterModule: BifrostModuleProtocol {
}
@objc public static func swiftLoad() {
Bifrost.registerService(GDUserManagerRouter.self, withModule: self)
Bifrost.registerService(GDSocialCenterRouter.self, withModule: self)
}
public static func setupModuleSynchronously() -> Bool {
......
......@@ -37,7 +37,7 @@ class GDSocialPlatCenter: BaseViewModel {
GDPlat.WeChat.register()
// 为QQ的代理创建弱引用
weak var weakSelf = self as! TencentSessionDelegate
weak var weakSelf = self as? TencentSessionDelegate
guard let weakSelf = weakSelf else {
GDlog.error("QQ 初始化失败")
return
......@@ -588,7 +588,7 @@ struct GDPlat {
return TencentOAuth.handleUniversalLink(url)
}
static func setup(with delegate: TencentSessionDelegate) -> TencentOAuth {
static func setup(with delegate: TencentSessionDelegate) -> TencentOAuth? {
return TencentOAuth(appId: GDSDK.gd_QQAppId, andDelegate: delegate)
}
......
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 56;
objects = {
/* Begin PBXBuildFile section */
88A9CB0AAFB8840A001E4557 /* Pods_GDTabbar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 1164F3BA4E423A59BEE1E95A /* Pods_GDTabbar.framework */; };
BE84EBF82B56626C00DB8883 /* GDTabbar.h in Headers */ = {isa = PBXBuildFile; fileRef = BE84EBF72B56626C00DB8883 /* GDTabbar.h */; settings = {ATTRIBUTES = (Public, ); }; };
BE84EC122B5668F600DB8883 /* GDTabbarModule.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE84EC0F2B5668F600DB8883 /* GDTabbarModule.swift */; };
BE84EC132B5668F600DB8883 /* GDTabbarBundle.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE84EC102B5668F600DB8883 /* GDTabbarBundle.swift */; };
BE84EC142B5668F600DB8883 /* GDTabbarModuleSwiftLoadFile.m in Sources */ = {isa = PBXBuildFile; fileRef = BE84EC112B5668F600DB8883 /* GDTabbarModuleSwiftLoadFile.m */; };
BE84EC2E2B56799300DB8883 /* GDTabBarViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE84EC262B56799300DB8883 /* GDTabBarViewModel.swift */; };
BE84EC2F2B56799300DB8883 /* GDTabBarModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE84EC282B56799300DB8883 /* GDTabBarModel.swift */; };
BE84EC302B56799300DB8883 /* GDTabBarItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE84EC2B2B56799300DB8883 /* GDTabBarItemView.swift */; };
BE84EC312B56799300DB8883 /* GDTabBarView.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE84EC2C2B56799300DB8883 /* GDTabBarView.swift */; };
BE84EC322B56799300DB8883 /* GDTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = BE84EC2D2B56799300DB8883 /* GDTabBarViewController.swift */; };
/* End PBXBuildFile section */
/* Begin PBXFileReference section */
1164F3BA4E423A59BEE1E95A /* Pods_GDTabbar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_GDTabbar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
5BF80808B2B11B600B714B8C /* Pods-GDTabbar.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GDTabbar.release.xcconfig"; path = "Target Support Files/Pods-GDTabbar/Pods-GDTabbar.release.xcconfig"; sourceTree = "<group>"; };
6F2B83CA3FFC11473D9D3DB4 /* Pods-GDTabbar.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-GDTabbar.debug.xcconfig"; path = "Target Support Files/Pods-GDTabbar/Pods-GDTabbar.debug.xcconfig"; sourceTree = "<group>"; };
BE84EBF42B56626C00DB8883 /* GDTabbar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = GDTabbar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BE84EBF72B56626C00DB8883 /* GDTabbar.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GDTabbar.h; sourceTree = "<group>"; };
BE84EC0A2B5663B500DB8883 /* GDTabbarBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = GDTabbarBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
BE84EC0F2B5668F600DB8883 /* GDTabbarModule.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GDTabbarModule.swift; sourceTree = "<group>"; };
BE84EC102B5668F600DB8883 /* GDTabbarBundle.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GDTabbarBundle.swift; sourceTree = "<group>"; };
BE84EC112B5668F600DB8883 /* GDTabbarModuleSwiftLoadFile.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = GDTabbarModuleSwiftLoadFile.m; sourceTree = "<group>"; };
BE84EC262B56799300DB8883 /* GDTabBarViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GDTabBarViewModel.swift; sourceTree = "<group>"; };
BE84EC282B56799300DB8883 /* GDTabBarModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GDTabBarModel.swift; sourceTree = "<group>"; };
BE84EC2B2B56799300DB8883 /* GDTabBarItemView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GDTabBarItemView.swift; sourceTree = "<group>"; };
BE84EC2C2B56799300DB8883 /* GDTabBarView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GDTabBarView.swift; sourceTree = "<group>"; };
BE84EC2D2B56799300DB8883 /* GDTabBarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = GDTabBarViewController.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
BE84EBF12B56626C00DB8883 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
88A9CB0AAFB8840A001E4557 /* Pods_GDTabbar.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BE84EC072B5663B500DB8883 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
4C1A23496F5A9A42F770B29A /* Frameworks */ = {
isa = PBXGroup;
children = (
1164F3BA4E423A59BEE1E95A /* Pods_GDTabbar.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
59001170A728799E82EC3B65 /* Pods */ = {
isa = PBXGroup;
children = (
6F2B83CA3FFC11473D9D3DB4 /* Pods-GDTabbar.debug.xcconfig */,
5BF80808B2B11B600B714B8C /* Pods-GDTabbar.release.xcconfig */,
);
name = Pods;
path = ../../Pods;
sourceTree = "<group>";
};
BE84EBEA2B56626C00DB8883 = {
isa = PBXGroup;
children = (
BE84EBF62B56626C00DB8883 /* GDTabbar */,
BE84EBF52B56626C00DB8883 /* Products */,
59001170A728799E82EC3B65 /* Pods */,
4C1A23496F5A9A42F770B29A /* Frameworks */,
);
sourceTree = "<group>";
};
BE84EBF52B56626C00DB8883 /* Products */ = {
isa = PBXGroup;
children = (
BE84EBF42B56626C00DB8883 /* GDTabbar.framework */,
BE84EC0A2B5663B500DB8883 /* GDTabbarBundle.bundle */,
);
name = Products;
sourceTree = "<group>";
};
BE84EBF62B56626C00DB8883 /* GDTabbar */ = {
isa = PBXGroup;
children = (
BE84EC242B56799300DB8883 /* Feature */,
BE84EC192B56694300DB8883 /* GDTabbarBundle.bundle */,
BE84EBF72B56626C00DB8883 /* GDTabbar.h */,
BE84EC0E2B5668F600DB8883 /* Module */,
);
path = GDTabbar;
sourceTree = "<group>";
};
BE84EC0E2B5668F600DB8883 /* Module */ = {
isa = PBXGroup;
children = (
BE84EC0F2B5668F600DB8883 /* GDTabbarModule.swift */,
BE84EC102B5668F600DB8883 /* GDTabbarBundle.swift */,
BE84EC112B5668F600DB8883 /* GDTabbarModuleSwiftLoadFile.m */,
);
path = Module;
sourceTree = "<group>";
};
BE84EC192B56694300DB8883 /* GDTabbarBundle.bundle */ = {
isa = PBXGroup;
children = (
);
path = GDTabbarBundle.bundle;
sourceTree = "<group>";
};
BE84EC242B56799300DB8883 /* Feature */ = {
isa = PBXGroup;
children = (
BE84EC252B56799300DB8883 /* ViewModel */,
BE84EC272B56799300DB8883 /* Model */,
BE84EC292B56799300DB8883 /* View */,
);
path = Feature;
sourceTree = "<group>";
};
BE84EC252B56799300DB8883 /* ViewModel */ = {
isa = PBXGroup;
children = (
BE84EC262B56799300DB8883 /* GDTabBarViewModel.swift */,
);
path = ViewModel;
sourceTree = "<group>";
};
BE84EC272B56799300DB8883 /* Model */ = {
isa = PBXGroup;
children = (
BE84EC282B56799300DB8883 /* GDTabBarModel.swift */,
);
path = Model;
sourceTree = "<group>";
};
BE84EC292B56799300DB8883 /* View */ = {
isa = PBXGroup;
children = (
BE84EC2A2B56799300DB8883 /* TabBarView */,
BE84EC2D2B56799300DB8883 /* GDTabBarViewController.swift */,
);
path = View;
sourceTree = "<group>";
};
BE84EC2A2B56799300DB8883 /* TabBarView */ = {
isa = PBXGroup;
children = (
BE84EC2B2B56799300DB8883 /* GDTabBarItemView.swift */,
BE84EC2C2B56799300DB8883 /* GDTabBarView.swift */,
);
path = TabBarView;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
BE84EBEF2B56626C00DB8883 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
BE84EBF82B56626C00DB8883 /* GDTabbar.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
BE84EBF32B56626C00DB8883 /* GDTabbar */ = {
isa = PBXNativeTarget;
buildConfigurationList = BE84EBFB2B56626C00DB8883 /* Build configuration list for PBXNativeTarget "GDTabbar" */;
buildPhases = (
C4EA0A78FDDF5CC6FAE20198 /* [CP] Check Pods Manifest.lock */,
BE84EBEF2B56626C00DB8883 /* Headers */,
BE84EBF02B56626C00DB8883 /* Sources */,
BE84EBF12B56626C00DB8883 /* Frameworks */,
BE84EBF22B56626C00DB8883 /* Resources */,
26C1DDD1EF7B385E333E828C /* [CP] Copy Pods Resources */,
);
buildRules = (
);
dependencies = (
);
name = GDTabbar;
productName = GDTabbar;
productReference = BE84EBF42B56626C00DB8883 /* GDTabbar.framework */;
productType = "com.apple.product-type.framework";
};
BE84EC092B5663B500DB8883 /* GDTabbarBundle */ = {
isa = PBXNativeTarget;
buildConfigurationList = BE84EC0B2B5663B500DB8883 /* Build configuration list for PBXNativeTarget "GDTabbarBundle" */;
buildPhases = (
BE84EC062B5663B500DB8883 /* Sources */,
BE84EC072B5663B500DB8883 /* Frameworks */,
BE84EC082B5663B500DB8883 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = GDTabbarBundle;
productName = GDTabbarBundle;
productReference = BE84EC0A2B5663B500DB8883 /* GDTabbarBundle.bundle */;
productType = "com.apple.product-type.bundle";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BE84EBEB2B56626C00DB8883 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastUpgradeCheck = 1520;
TargetAttributes = {
BE84EBF32B56626C00DB8883 = {
CreatedOnToolsVersion = 15.2;
};
BE84EC092B5663B500DB8883 = {
CreatedOnToolsVersion = 15.2;
};
};
};
buildConfigurationList = BE84EBEE2B56626C00DB8883 /* Build configuration list for PBXProject "GDTabbar" */;
compatibilityVersion = "Xcode 14.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = BE84EBEA2B56626C00DB8883;
productRefGroup = BE84EBF52B56626C00DB8883 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
BE84EBF32B56626C00DB8883 /* GDTabbar */,
BE84EC092B5663B500DB8883 /* GDTabbarBundle */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
BE84EBF22B56626C00DB8883 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
BE84EC082B5663B500DB8883 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
26C1DDD1EF7B385E333E828C /* [CP] Copy Pods Resources */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-${CONFIGURATION}-input-files.xcfilelist",
);
name = "[CP] Copy Pods Resources";
outputFileListPaths = (
"${PODS_ROOT}/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources-${CONFIGURATION}-output-files.xcfilelist",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-GDTabbar/Pods-GDTabbar-resources.sh\"\n";
showEnvVarsInLog = 0;
};
C4EA0A78FDDF5CC6FAE20198 /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-GDTabbar-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
BE84EBF02B56626C00DB8883 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
BE84EC302B56799300DB8883 /* GDTabBarItemView.swift in Sources */,
BE84EC2F2B56799300DB8883 /* GDTabBarModel.swift in Sources */,
BE84EC132B5668F600DB8883 /* GDTabbarBundle.swift in Sources */,
BE84EC2E2B56799300DB8883 /* GDTabBarViewModel.swift in Sources */,
BE84EC312B56799300DB8883 /* GDTabBarView.swift in Sources */,
BE84EC322B56799300DB8883 /* GDTabBarViewController.swift in Sources */,
BE84EC122B5668F600DB8883 /* GDTabbarModule.swift in Sources */,
BE84EC142B5668F600DB8883 /* GDTabbarModuleSwiftLoadFile.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BE84EC062B5663B500DB8883 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin XCBuildConfiguration section */
BE84EBF92B56626C00DB8883 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = dwarf;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_TESTABILITY = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_DYNAMIC_NO_PIC = NO;
GCC_NO_COMMON_BLOCKS = YES;
GCC_OPTIMIZATION_LEVEL = 0;
GCC_PREPROCESSOR_DEFINITIONS = (
"DEBUG=1",
"$(inherited)",
);
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.2;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = "DEBUG $(inherited)";
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
BE84EBFA2B56626C00DB8883 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO;
ASSETCATALOG_COMPILER_GENERATE_SWIFT_ASSET_SYMBOL_EXTENSIONS = YES;
CLANG_ANALYZER_NONNULL = YES;
CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++20";
CLANG_ENABLE_MODULES = YES;
CLANG_ENABLE_OBJC_ARC = YES;
CLANG_ENABLE_OBJC_WEAK = YES;
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_DOCUMENTATION_COMMENTS = YES;
CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES;
CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES;
CLANG_WARN_OBJC_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
CLANG_WARN_STRICT_PROTOTYPES = YES;
CLANG_WARN_SUSPICIOUS_MOVE = YES;
CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE;
CLANG_WARN_UNREACHABLE_CODE = YES;
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
COPY_PHASE_STRIP = NO;
CURRENT_PROJECT_VERSION = 1;
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
ENABLE_STRICT_OBJC_MSGSEND = YES;
ENABLE_USER_SCRIPT_SANDBOXING = YES;
GCC_C_LANGUAGE_STANDARD = gnu17;
GCC_NO_COMMON_BLOCKS = YES;
GCC_WARN_64_TO_32_BIT_CONVERSION = YES;
GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR;
GCC_WARN_UNDECLARED_SELECTOR = YES;
GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE;
GCC_WARN_UNUSED_FUNCTION = YES;
GCC_WARN_UNUSED_VARIABLE = YES;
IPHONEOS_DEPLOYMENT_TARGET = 17.2;
LOCALIZATION_PREFERS_STRING_CATALOGS = YES;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
BE84EBFC2B56626C00DB8883 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 6F2B83CA3FFC11473D9D3DB4 /* Pods-GDTabbar.debug.xcconfig */;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 6GG26BHUMC;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_MODULE_VERIFIER = NO;
ENABLE_TESTABILITY = NO;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACH_O_TYPE = staticlib;
MARKETING_VERSION = 1.0;
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
PRODUCT_BUNDLE_IDENTIFIER = com.qs.live.ios.GDTabbar;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
BE84EBFD2B56626C00DB8883 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 5BF80808B2B11B600B714B8C /* Pods-GDTabbar.release.xcconfig */;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 6GG26BHUMC;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
ENABLE_MODULE_VERIFIER = NO;
ENABLE_TESTABILITY = NO;
ENABLE_USER_SCRIPT_SANDBOXING = NO;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MACH_O_TYPE = staticlib;
MARKETING_VERSION = 1.0;
MODULE_VERIFIER_SUPPORTED_LANGUAGES = "objective-c objective-c++";
MODULE_VERIFIER_SUPPORTED_LANGUAGE_STANDARDS = "gnu17 gnu++20";
PRODUCT_BUNDLE_IDENTIFIER = com.qs.live.ios.GDTabbar;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SUPPORTED_PLATFORMS = "iphoneos iphonesimulator";
SUPPORTS_MACCATALYST = NO;
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
BE84EC0C2B5663B500DB8883 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6GG26BHUMC;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INFOPLIST_KEY_NSPrincipalClass = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.qs.live.ios.GDTabbarBundle;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
WRAPPER_EXTENSION = bundle;
};
name = Debug;
};
BE84EC0D2B5663B500DB8883 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
COMBINE_HIDPI_IMAGES = YES;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 6GG26BHUMC;
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INFOPLIST_KEY_NSPrincipalClass = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Bundles";
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
MACOSX_DEPLOYMENT_TARGET = 12.0;
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.qs.live.ios.GDTabbarBundle;
PRODUCT_NAME = "$(TARGET_NAME)";
SDKROOT = iphoneos;
SKIP_INSTALL = YES;
SWIFT_EMIT_LOC_STRINGS = YES;
WRAPPER_EXTENSION = bundle;
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
BE84EBEE2B56626C00DB8883 /* Build configuration list for PBXProject "GDTabbar" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BE84EBF92B56626C00DB8883 /* Debug */,
BE84EBFA2B56626C00DB8883 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BE84EBFB2B56626C00DB8883 /* Build configuration list for PBXNativeTarget "GDTabbar" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BE84EBFC2B56626C00DB8883 /* Debug */,
BE84EBFD2B56626C00DB8883 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
BE84EC0B2B5663B500DB8883 /* Build configuration list for PBXNativeTarget "GDTabbarBundle" */ = {
isa = XCConfigurationList;
buildConfigurations = (
BE84EC0C2B5663B500DB8883 /* Debug */,
BE84EC0D2B5663B500DB8883 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BE84EBEB2B56626C00DB8883 /* Project object */;
}
//
// GDTabbar.h
// GDTabbar
//
// Created by pierce on 2024/1/16.
//
#import <Foundation/Foundation.h>
//! Project version number for GDTabbar.
FOUNDATION_EXPORT double GDTabbarVersionNumber;
//! Project version string for GDTabbar.
FOUNDATION_EXPORT const unsigned char GDTabbarVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <GDTabbar/PublicHeader.h>
......@@ -10,15 +10,24 @@ import GDRouter
import GDToolBox
import Bifrost
public class GDTestModule: NSObject, GDTestRouter {
var env: GDEnv {
public class GDTestModule: NSObject, GDTestSwiftRouter {
@objc public func loginSuccessSetup() {
}
@objc public func loginOut() {
}
public var env: GDEnv {
if let envValue = UserDefaults.standard.value(forKey: GDHostManagerStore.envKey) as? Int {
let env = GDEnv(rawValue: envValue) ?? .product
return env
}
return .product
}
func envViewController() -> UIViewController {
public func envViewController() -> UIViewController {
GDEnvViewController()
}
}
......@@ -36,7 +45,7 @@ extension GDTestModule: BifrostModuleProtocol {
}
@objc public static func swiftLoad() {
Bifrost.registerService(GDUserManagerRouter.self, withModule: self)
Bifrost.registerService(GDTestRouter.self, withModule: self)
}
public static func setupModuleSynchronously() -> Bool {
......
......@@ -217,11 +217,11 @@ import Bifrost
extension GDUserInfoManagerModule: GDRouterProtocol {
public func loginSuccessSetup() {
@objc public func loginSuccessSetup() {
}
public func loginOut() {
@objc public func loginOut() {
}
}
......
......@@ -426,63 +426,6 @@ class GDUserCenter: BaseViewModel {
self?.hadBeenKickOffline(event: event)
}).disposed(by: disposeBag)
// 控制登录控制器
GDUserCenter.shared.isLogin.distinctUntilChanged().skip(1).subscribe(onNext: { login in
//TODO:Tabbar:移到对应的位置: added By Pidan
// if login {
// if let currentVC = UIApplication.shared.keyWindow?.rootViewController {
// currentVC.dismiss(animated: false, completion: nil)
// currentVC.navigationController?.popToRootViewController(animated: false)
// }
// UIApplication.shared.keyWindow?.rootViewController = GDTabBarViewController()
//
// if let splashView = UIApplication.shared.keyWindow?.viewWithTag(splashViewTag) {
// UIApplication.shared.keyWindow?.bringSubviewToFront(splashView)
// }
//
// if GDUserCenter.shared.openSplashWhenLogin {
// GDUserCenter.shared.openSplashWhenLogin = false
// // 打开闪屏页
// if let splashView = UIApplication.shared.keyWindow?.viewWithTag(splashViewTag) as? GDSplashView {
// splashView.dismiss()
// }
//
// let model = GDRouter.DataRouter?.splashModel.value
//
// if let tabbarVC = UIApplication.shared.keyWindow?.rootViewController as? GDTabBarViewController {
//
// let splashUrl = model?.url
//
// if isValidString(splashUrl) {
// let webVC = GDWebViewController(url: splashUrl ?? "")
// webVC.hidesBottomBarWhenPushed = true
//
// if let naviVC = tabbarVC.selectedViewController as? BaseNavigationController {
// naviVC.pushViewController(webVC, animated: true)
// }
// }
// }
//
// }
// }
}).disposed(by: disposeBag)
GDUserCenter.shared.isVisitor.distinctUntilChanged().skip(1).subscribe(onNext: {[weak self] visitor in
//TODO:Tabbar:移到对应的位置: added By Pidan
// // 在游客模式下注册登录成功
// if visitor == false && GDUserCenter.shared.isLogin.value == true {
// self?.logVisitorUseTime()
// if let currentVC = UIApplication.shared.keyWindow?.rootViewController {
// currentVC.dismiss(animated: false, completion: nil)
// currentVC.navigationController?.popToRootViewController(animated: false)
// GDLiveHelper.shared.quitRoom()
// }
// UIApplication.shared.keyWindow?.rootViewController = GDTabBarViewController()
// }
}).disposed(by: disposeBag)
GDUserCenter.shared.isVisitor.distinctUntilChanged().subscribe(onNext: {[weak self] visitor in
if visitor {
self?.visitorTimer?.invalidate()
......
......@@ -11,6 +11,12 @@ import GDRouter
import Bifrost
@objc public class GDHostManagerModule: NSObject, GDHostManagerSwiftRouter {
@objc public func loginSuccessSetup() {
}
@objc public func loginOut() {
}
public func checkCurrentDNSAdress() {
GDHostManager.shared.checkCurrentDNSAdress()
......
......@@ -189,6 +189,19 @@ target 'GDSocialCenter' do
end
target 'GDTabbar' do
use_frameworks!
inhibit_all_warnings!
project 'Module/GDTabbar/GDTabbar.xcodeproj'
pod 'GDToolBox', :path => './LocalPodSpec/GDToolBox'
pod 'GDRouter', :path => './LocalPodSpec/GDRouter'
end
plugin 'cocoapods-pod-sign'
skip_pod_bundle_sign # 用来跳过Xcode对bundle资源的签名
......
......@@ -182,6 +182,6 @@ SPEC CHECKSUMS:
XCGLogger: 1943831ef907df55108b0b18657953f868de973b
YYKit: 7cda43304a8dc3696c449041e2cb3107b4e236e7
PODFILE CHECKSUM: ba07b9c7b94784bf6822bd71a8c499cf6400a0e2
PODFILE CHECKSUM: c65ee28367fd4b153188c3cb82ed28f86725acca
COCOAPODS: 1.11.3
......@@ -182,6 +182,6 @@ SPEC CHECKSUMS:
XCGLogger: 1943831ef907df55108b0b18657953f868de973b
YYKit: 7cda43304a8dc3696c449041e2cb3107b4e236e7
PODFILE CHECKSUM: ba07b9c7b94784bf6822bd71a8c499cf6400a0e2
PODFILE CHECKSUM: c65ee28367fd4b153188c3cb82ed28f86725acca
COCOAPODS: 1.11.3
This source diff could not be displayed because it is too large. You can view the blob instead.
......@@ -11,6 +11,9 @@
location = "container:"
name = "BaseModules">
<FileRef
location = "group:Module/GDTabbar/GDTabbar.xcodeproj">
</FileRef>
<FileRef
location = "group:Module/GDBaseBussiness/GDBaseBussiness.xcodeproj">
</FileRef>
<FileRef
......
......@@ -17,10 +17,11 @@
BE51BA682B5006F400D11735 /* GDDataManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE6F41F52B47AD990058C826 /* GDDataManager.framework */; };
BE51BA6A2B5006F700D11735 /* GDLoginAndRegistModule.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BEB7BC4B2B4D72E000B3D9B1 /* GDLoginAndRegistModule.framework */; };
BE51BA6C2B5006FE00D11735 /* GDSocialCenter.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BEB7BC2C2B4D272400B3D9B1 /* GDSocialCenter.framework */; };
BE51BA6E2B50070100D11735 /* GDTest.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BEB7BC0A2B4941D900B3D9B1 /* GDTest.framework */; };
BE51BA702B50070400D11735 /* GDUserInfoManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE7B3C602B45736B0068FDDE /* GDUserInfoManager.framework */; };
BE51BA722B50070700D11735 /* HostManager.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BEFDEDDF2B4417BC0056254C /* HostManager.framework */; };
BE51BA742B50070A00D11735 /* MetalPerformanceShaders.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE352CEA299CD01C00FE07AB /* MetalPerformanceShaders.framework */; };
BE84EC352B567DCC00DB8883 /* GDTabbar.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BE84EC332B567DCC00DB8883 /* GDTabbar.framework */; };
BE84EC3A2B567DE500DB8883 /* GDTabbarBundle.bundle in Embed PlugIns */ = {isa = PBXBuildFile; fileRef = BE84EC342B567DCC00DB8883 /* GDTabbarBundle.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
BED30A3E2B55391B0044EA1A /* GDLoginBundle.bundle in Embed PlugIns */ = {isa = PBXBuildFile; fileRef = BED30A3D2B55391B0044EA1A /* GDLoginBundle.bundle */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
BEFDEDDA2B4028C40056254C /* SystemConfiguration.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = BEFDEDD92B4028C40056254C /* SystemConfiguration.framework */; };
/* End PBXBuildFile section */
......@@ -32,6 +33,7 @@
dstPath = "";
dstSubfolderSpec = 7;
files = (
BE84EC3A2B567DE500DB8883 /* GDTabbarBundle.bundle in Embed PlugIns */,
BED30A3E2B55391B0044EA1A /* GDLoginBundle.bundle in Embed PlugIns */,
);
name = "Embed PlugIns";
......@@ -69,6 +71,8 @@
BE6F42B82B4901280058C826 /* GDLoginAndRegistModule.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GDLoginAndRegistModule.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BE6F42B92B4901280058C826 /* GDLoginAndRegistModuleBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = GDLoginAndRegistModuleBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
BE7B3C602B45736B0068FDDE /* GDUserInfoManager.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GDUserInfoManager.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BE84EC332B567DCC00DB8883 /* GDTabbar.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GDTabbar.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BE84EC342B567DCC00DB8883 /* GDTabbarBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = GDTabbarBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
BEB7BC0A2B4941D900B3D9B1 /* GDTest.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GDTest.framework; sourceTree = BUILT_PRODUCTS_DIR; };
BEB7BC0B2B4941D900B3D9B1 /* GDTestBundle.bundle */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; path = GDTestBundle.bundle; sourceTree = BUILT_PRODUCTS_DIR; };
BEB7BC2C2B4D272400B3D9B1 /* GDSocialCenter.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = GDSocialCenter.framework; sourceTree = BUILT_PRODUCTS_DIR; };
......@@ -94,11 +98,11 @@
BE51BA742B50070A00D11735 /* MetalPerformanceShaders.framework in Frameworks */,
BE352D0B299CE1D000FE07AB /* Accelerate.framework in Frameworks */,
BE352D0C299CE1D800FE07AB /* CoreMotion.framework in Frameworks */,
BE51BA6E2B50070100D11735 /* GDTest.framework in Frameworks */,
1E7D81FAF6A4CFE803CA4C3B /* Pods_TealiveModule.framework in Frameworks */,
BE51BA652B5006F000D11735 /* GDBaseBussiness.framework in Frameworks */,
BE51BA682B5006F400D11735 /* GDDataManager.framework in Frameworks */,
BE51BA6C2B5006FE00D11735 /* GDSocialCenter.framework in Frameworks */,
BE84EC352B567DCC00DB8883 /* GDTabbar.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
......@@ -137,6 +141,8 @@
8C945B4FCAACDD2D17AF8C17 /* Frameworks */ = {
isa = PBXGroup;
children = (
BE84EC332B567DCC00DB8883 /* GDTabbar.framework */,
BE84EC342B567DCC00DB8883 /* GDTabbarBundle.bundle */,
BED30A3D2B55391B0044EA1A /* GDLoginBundle.bundle */,
BEDB6DD22B4FDE4A000B2451 /* GDBaseBussiness.framework */,
BEB7BC4B2B4D72E000B3D9B1 /* GDLoginAndRegistModule.framework */,
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment