Commit 50998729 by pierce

1、Tabbar 模块

2、fixed 登录成功后闪退的问题
parent bef88438
Showing with 276 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)
}
......
//
// 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