diff --git a/Podfile b/Podfile index 3faad1a..6bee26a 100644 --- a/Podfile +++ b/Podfile @@ -6,8 +6,6 @@ target 'YuMi' do #pag动画 pod 'libpag' pod 'Bugly' - pod 'FBSDKLoginKit' - pod 'FBSDKCoreKit' # 滑动标签栏 pod 'JXCategoryView' pod 'JXPagingView/Pager' @@ -52,7 +50,6 @@ target 'YuMi' do pod 'NIMSDK_LITE', '~> 10.9.40' pod 'GKCycleScrollView' pod 'SVGAPlayer' - pod 'GoogleSignIn' pod 'ZLCollectionViewFlowLayout' pod 'TABAnimated' @@ -78,4 +75,26 @@ post_install do |installer| end end end + + # 🔧 自动修复 SVGAPlayer 的 OSAtomic 导入问题 + # 原因: SVGAPlayer 2.5.7 的 Svga.pbobjc.m 使用旧版 protoc 生成, + # 代码中使用了 OSAtomicCompareAndSwapPtrBarrier 但未导入头文件 + svga_pbobjc_path = 'Pods/SVGAPlayer/Source/pbobjc/Svga.pbobjc.m' + if File.exist?(svga_pbobjc_path) + text = File.read(svga_pbobjc_path) + # 检查是否已经包含 OSAtomic 导入 + unless text.include?('#import ') + # 在 #endif 后的第一个空行位置插入导入语句 + new_text = text.sub( + /(#define GPB_USE_PROTOBUF_FRAMEWORK_IMPORTS 0\n#endif\n)/, + "\\1\n#import \n" + ) + File.write(svga_pbobjc_path, new_text) + puts "✅ [自动修复] SVGAPlayer OSAtomic 导入问题已解决" + else + puts "✓ [检查通过] SVGAPlayer OSAtomic 导入已存在" + end + else + puts "⚠️ [警告] 未找到 SVGAPlayer pbobjc 文件,跳过修复" + end end diff --git a/Podfile.lock b/Podfile.lock index 244d09b..94dde2e 100644 --- a/Podfile.lock +++ b/Podfile.lock @@ -14,48 +14,12 @@ PODS: - AFNetworking/Serialization (4.0.1) - AFNetworking/UIKit (4.0.1): - AFNetworking/NSURLSession - - AppAuth (2.0.0): - - AppAuth/Core (= 2.0.0) - - AppAuth/ExternalUserAgent (= 2.0.0) - - AppAuth/Core (2.0.0) - - AppAuth/ExternalUserAgent (2.0.0): - - AppAuth/Core - - AppCheckCore (11.2.0): - - GoogleUtilities/Environment (~> 8.0) - - GoogleUtilities/UserDefaults (~> 8.0) - - PromisesObjC (~> 2.4) - Base64 (1.1.2) - Bugly (2.6.1) - CocoaAsyncSocket (7.6.5) - - FBAEMKit (18.0.1): - - FBSDKCoreKit_Basics (= 18.0.1) - - FBSDKCoreKit (18.0.1): - - FBAEMKit (= 18.0.1) - - FBSDKCoreKit_Basics (= 18.0.1) - - FBSDKCoreKit_Basics (18.0.1) - - FBSDKLoginKit (18.0.1): - - FBSDKCoreKit (= 18.0.1) - FFPopup (1.1.5) - FLAnimatedImage (1.0.17) - GKCycleScrollView (1.2.3) - - GoogleSignIn (9.0.0): - - AppAuth (~> 2.0) - - AppCheckCore (~> 11.0) - - GTMAppAuth (~> 5.0) - - GTMSessionFetcher/Core (~> 3.3) - - GoogleUtilities/Environment (8.1.0): - - GoogleUtilities/Privacy - - GoogleUtilities/Logger (8.1.0): - - GoogleUtilities/Environment - - GoogleUtilities/Privacy - - GoogleUtilities/Privacy (8.1.0) - - GoogleUtilities/UserDefaults (8.1.0): - - GoogleUtilities/Logger - - GoogleUtilities/Privacy - - GTMAppAuth (5.0.0): - - AppAuth/Core (~> 2.0) - - GTMSessionFetcher/Core (< 4.0, >= 3.3) - - GTMSessionFetcher/Core (3.5.0) - IQKeyboardManager (6.5.19) - JXCategoryView (1.6.8) - JXPagingView/Pager (2.1.3) @@ -71,7 +35,6 @@ PODS: - NIMSDK_LITE/NOS (10.9.53): - YXArtemis_XCFramework - pop (1.0.12) - - PromisesObjC (2.4.0) - Protobuf (3.29.5) - QCloudCore (6.5.1): - QCloudCore/Default (= 6.5.1) @@ -131,12 +94,9 @@ DEPENDENCIES: - Base64 - Bugly - CocoaAsyncSocket - - FBSDKCoreKit - - FBSDKLoginKit - FFPopup - FLAnimatedImage - GKCycleScrollView - - GoogleSignIn - IQKeyboardManager - JXCategoryView - JXPagingView/Pager @@ -170,22 +130,12 @@ DEPENDENCIES: SPEC REPOS: https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git: - AFNetworking - - AppAuth - - AppCheckCore - Base64 - Bugly - CocoaAsyncSocket - - FBAEMKit - - FBSDKCoreKit - - FBSDKCoreKit_Basics - - FBSDKLoginKit - FFPopup - FLAnimatedImage - GKCycleScrollView - - GoogleSignIn - - GoogleUtilities - - GTMAppAuth - - GTMSessionFetcher - IQKeyboardManager - JXCategoryView - JXPagingView @@ -197,7 +147,6 @@ SPEC REPOS: - MJRefresh - NIMSDK_LITE - pop - - PromisesObjC - Protobuf - QCloudCore - QCloudCOSXML @@ -229,22 +178,12 @@ EXTERNAL SOURCES: SPEC CHECKSUMS: AFNetworking: 3bd23d814e976cd148d7d44c3ab78017b744cd58 - AppAuth: 1c1a8afa7e12f2ec3a294d9882dfa5ab7d3cb063 - AppCheckCore: cc8fd0a3a230ddd401f326489c99990b013f0c4f Base64: cecfb41a004124895a7bcee567a89bae5a89d49b Bugly: 217ac2ce5f0f2626d43dbaa4f70764c953a26a31 CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99 - FBAEMKit: b2ed182002dbcb65d5a60059c9693d322186cd00 - FBSDKCoreKit: 7f96852f2539bdb88ba8d47e5ab4ae70a6f8d691 - FBSDKCoreKit_Basics: 22d4c1a509ded4e45116f3bb167a14907550f62e - FBSDKLoginKit: f48c06446995cd209332831f692cea28b26e51da FFPopup: a208dcee8db3e54ec4a88fcd6481f6f5d85b7a83 FLAnimatedImage: bbf914596368867157cc71b38a8ec834b3eeb32b GKCycleScrollView: 8ed79d2142e62895a701973358b6f94b661b4829 - GoogleSignIn: c7f09cfbc85a1abf69187be091997c317cc33b77 - GoogleUtilities: 00c88b9a86066ef77f0da2fab05f65d7768ed8e1 - GTMAppAuth: 217a876b249c3c585a54fd6f73e6b58c4f5c4238 - GTMSessionFetcher: 5aea5ba6bd522a239e236100971f10cb71b96ab6 IQKeyboardManager: c8665b3396bd0b79402b4c573eac345a31c7d485 JXCategoryView: 262d503acea0b1278c79a1c25b7332ffaef4d518 JXPagingView: afdd2e9af09c90160dd232b970d603cc6e7ddd0e @@ -256,7 +195,6 @@ SPEC CHECKSUMS: MJRefresh: ff9e531227924c84ce459338414550a05d2aea78 NIMSDK_LITE: 79bc52b8ad905e6c088053d8d29e7863fb9cdb98 pop: d582054913807fd11fd50bfe6a539d91c7e1a55a - PromisesObjC: f5707f49cb48b9636751c5b2e7d227e43fba9f47 Protobuf: 164aea2ae380c3951abdc3e195220c01d17400e0 QCloudCore: 6f8c67b96448472d2c6a92b9cfe1bdb5abbb1798 QCloudCOSXML: 92f50a787b4e8d9a7cb6ea8e626775256b4840a7 @@ -283,6 +221,6 @@ SPEC CHECKSUMS: YYWebImage: 5f7f36aee2ae293f016d418c7d6ba05c4863e928 ZLCollectionViewFlowLayout: c99024652ce9f0c57d33ab53052c9b85e4a936b7 -PODFILE CHECKSUM: 4ae0a76c5f1e815186f5f38306131c4d372fa23d +PODFILE CHECKSUM: 3ef6e2b784d16a5b9d2c5cdd03f8bbf3ed3483ce COCOAPODS: 1.16.2 diff --git a/YuMi.xcodeproj/project.pbxproj b/YuMi.xcodeproj/project.pbxproj index 9b8e49d..41e1f31 100644 --- a/YuMi.xcodeproj/project.pbxproj +++ b/YuMi.xcodeproj/project.pbxproj @@ -13594,10 +13594,6 @@ "\"AVKit\"", "-framework", "\"Accelerate\"", - "\"-framework\"", - "\"AppAuth\"", - "-framework", - "\"AppleAccountConnector\"", "-framework", "\"AssetsLibrary\"", "-framework", @@ -13627,16 +13623,6 @@ "-framework", "\"CoreText\"", "-framework", - "\"FBAEMKit\"", - "-framework", - "\"FBSDKCoreKit\"", - "-framework", - "\"FBSDKCoreKit_Basics\"", - "-framework", - "\"FBSDKLoginKit\"", - "-framework", - "\"FBSDKShareKit\"", - "-framework", "\"FFPopup\"", "-framework", "\"FLAnimatedImage\"", @@ -13645,12 +13631,6 @@ "-framework", "\"GKCycleScrollView\"", "-framework", - "\"GTMAppAuth\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleSignIn\"", - "-framework", "\"IQKeyboardManager\"", "-framework", "\"ImageIO\"", @@ -13669,8 +13649,6 @@ "-framework", "\"MJRefresh\"", "-framework", - "\"MOBFoundation\"", - "-framework", "\"MarqueeLabel\"", "-framework", "\"Masonry\"", @@ -13701,8 +13679,6 @@ "-framework", "\"QGVAPlayer\"", "-framework", - "\"QimeiSDK\"", - "-framework", "\"QuartzCore\"", "-framework", "\"ReactiveObjC\"", @@ -13727,12 +13703,6 @@ "-framework", "\"Security\"", "-framework", - "\"ShareSDK\"", - "-framework", - "\"ShareSDKConnector\"", - "-framework", - "\"ShareSDKExtension\"", - "-framework", "\"StoreKit\"", "-framework", "\"SystemConfiguration\"", @@ -13834,10 +13804,6 @@ "\"AVKit\"", "-framework", "\"Accelerate\"", - "\"-framework\"", - "\"AppAuth\"", - "-framework", - "\"AppleAccountConnector\"", "-framework", "\"AssetsLibrary\"", "-framework", @@ -13867,16 +13833,6 @@ "-framework", "\"CoreText\"", "-framework", - "\"FBAEMKit\"", - "-framework", - "\"FBSDKCoreKit\"", - "-framework", - "\"FBSDKCoreKit_Basics\"", - "-framework", - "\"FBSDKLoginKit\"", - "-framework", - "\"FBSDKShareKit\"", - "-framework", "\"FFPopup\"", "-framework", "\"FLAnimatedImage\"", @@ -13885,12 +13841,6 @@ "-framework", "\"GKCycleScrollView\"", "-framework", - "\"GTMAppAuth\"", - "-framework", - "\"GTMSessionFetcher\"", - "-framework", - "\"GoogleSignIn\"", - "-framework", "\"IQKeyboardManager\"", "-framework", "\"ImageIO\"", @@ -13909,8 +13859,6 @@ "-framework", "\"MJRefresh\"", "-framework", - "\"MOBFoundation\"", - "-framework", "\"MarqueeLabel\"", "-framework", "\"Masonry\"", @@ -13941,8 +13889,6 @@ "-framework", "\"QGVAPlayer\"", "-framework", - "\"QimeiSDK\"", - "-framework", "\"QuartzCore\"", "-framework", "\"ReactiveObjC\"", @@ -13967,12 +13913,6 @@ "-framework", "\"Security\"", "-framework", - "\"ShareSDK\"", - "-framework", - "\"ShareSDKConnector\"", - "-framework", - "\"ShareSDKExtension\"", - "-framework", "\"StoreKit\"", "-framework", "\"SystemConfiguration\"", diff --git a/YuMi/Appdelegate/AppDelegate.m b/YuMi/Appdelegate/AppDelegate.m index a4461eb..6cb7b19 100644 --- a/YuMi/Appdelegate/AppDelegate.m +++ b/YuMi/Appdelegate/AppDelegate.m @@ -13,8 +13,6 @@ #import #import #import "ClientConfig.h" -#import -#import #import "LoginViewController.h" #import "AccountModel.h" #import "YuMi-swift.h" @@ -86,30 +84,6 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const // MARK: - Helper Methods -/// 获取 keyWindow(iOS 13+ 兼容) -- (UIWindow *)getKeyWindow { - // iOS 13+ 使用 connectedScenes 获取 window - if (@available(iOS 13.0, *)) { - for (UIWindowScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive) { - for (UIWindow *window in scene.windows) { - if (window.isKeyWindow) { - return window; - } - } - // 如果没有 keyWindow,返回第一个 window - return scene.windows.firstObject; - } - } - } - - // iOS 13 以下,使用旧方法(已废弃但仍然可用) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - return [UIApplication sharedApplication].keyWindow; -#pragma clang diagnostic pop -} - - (void)initUM:(UIApplication *)application launchOptions:(NSDictionary *)launchOptions { // MobLink 已移除 @@ -135,7 +109,7 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const /// 检查并显示专属颜色引导页 - (void)checkAndShowSignatureColorGuide { - UIWindow *keyWindow = [self getKeyWindow]; + UIWindow *keyWindow = kWindow; if (!keyWindow) return; BOOL hasSignatureColor = [EPEmotionColorStorage hasUserSignatureColor]; @@ -195,7 +169,7 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const EPTabBarController *epTabBar = [EPTabBarController create]; [epTabBar refreshTabBarWithIsLogin:YES]; - UIWindow *window = [self getKeyWindow]; + UIWindow *window = kWindow; if (window) { window.rootViewController = epTabBar; [window makeKeyAndVisible]; @@ -282,8 +256,7 @@ void qg_VAP_Logger_handler(VAPLogLevel level, const char* file, int line, const ///URL Scheme跳转 -(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options{ [[SocialShareManager sharedManager] handleURL:url]; - - return [GIDSignIn.sharedInstance handleURL:url]; + return YES; } //- (void)__oldApplicationOpenURLMethod:(NSURL *)url { diff --git a/YuMi/E-P/NewLogin/Services/EPLoginManager.swift b/YuMi/E-P/NewLogin/Services/EPLoginManager.swift index e84a972..513f4e3 100644 --- a/YuMi/E-P/NewLogin/Services/EPLoginManager.swift +++ b/YuMi/E-P/NewLogin/Services/EPLoginManager.swift @@ -88,6 +88,8 @@ import UIKit // MARK: - Helper Methods /// 获取 keyWindow(iOS 13+ 兼容) + /// - Note: Swift 实现,与 YUMIMacroUitls.h 的 kWindow 宏逻辑保持一致 + /// ObjC 代码应直接使用 kWindow 宏,避免重复 private static func getKeyWindow() -> UIWindow? { if #available(iOS 13.0, *) { for windowScene in UIApplication.shared.connectedScenes { @@ -98,12 +100,10 @@ import UIKit return window } } - // 如果没有 keyWindow,返回第一个 window return windowScene.windows.first } } } else { - // iOS 13 以下,使用旧方法(已废弃但仍然可用) return UIApplication.shared.keyWindow } return nil diff --git a/YuMi/Global/YUMIMacroUitls.h b/YuMi/Global/YUMIMacroUitls.h index b43848b..43ee2dc 100644 --- a/YuMi/Global/YUMIMacroUitls.h +++ b/YuMi/Global/YUMIMacroUitls.h @@ -49,7 +49,10 @@ isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaIns #define kWeakify(o) try{}@finally{} __weak typeof(o) o##Weak = o; #define kStrongify(o) autoreleasepool{} __strong typeof(o) o = o##Weak; -// 兼容 iOS 13+ 的 keyWindow 获取 +/// 兼容 iOS 13+ 的 keyWindow 获取 +/// 使用此宏统一获取 keyWindow,避免在各处重复实现 +/// 自动处理 iOS 13+ 的 UIWindowScene 和旧版本的兼容性 +/// Swift 代码请使用 EPLoginManager.getKeyWindow() 等效方法 #define kWindow ({\ UIWindow *window = nil;\ if (@available(iOS 13.0, *)) {\ diff --git a/YuMi/Modules/YMLogin/Api/PILoginManager.m b/YuMi/Modules/YMLogin/Api/PILoginManager.m index a27f84a..d00f2ae 100644 --- a/YuMi/Modules/YMLogin/Api/PILoginManager.m +++ b/YuMi/Modules/YMLogin/Api/PILoginManager.m @@ -94,7 +94,7 @@ // 设置为根控制器(不需要 NavigationController 包装) - [self getKeyWindow].rootViewController = newTabBar; + kWindow.rootViewController = newTabBar; // 登录成功并进入主页后,启动首充监控 [[FirstRechargeManager sharedManager] startMonitoring]; @@ -120,30 +120,4 @@ */ } -#pragma mark - Helper Methods - -/// 获取 keyWindow(iOS 13+ 兼容) -+ (UIWindow *)getKeyWindow { - // iOS 13+ 使用 connectedScenes 获取 window - if (@available(iOS 13.0, *)) { - for (UIWindowScene *scene in [UIApplication sharedApplication].connectedScenes) { - if (scene.activationState == UISceneActivationStateForegroundActive) { - for (UIWindow *window in scene.windows) { - if (window.isKeyWindow) { - return window; - } - } - // 如果没有 keyWindow,返回第一个 window - return scene.windows.firstObject; - } - } - } - - // iOS 13 以下,使用旧方法(已废弃但仍然可用) -#pragma clang diagnostic push -#pragma clang diagnostic ignored "-Wdeprecated-declarations" - return [UIApplication sharedApplication].keyWindow; -#pragma clang diagnostic pop -} - @end diff --git a/YuMi/Modules/YMLogin/Presenter/LoginPresenter.h b/YuMi/Modules/YMLogin/Presenter/LoginPresenter.h index a0b30d3..999d313 100644 --- a/YuMi/Modules/YMLogin/Presenter/LoginPresenter.h +++ b/YuMi/Modules/YMLogin/Presenter/LoginPresenter.h @@ -7,9 +7,6 @@ #import "BaseMvpPresenter.h" #import "YUMINNNN.h" -#import -#import -#import @class FeedBackConfigModel; @@ -19,18 +16,6 @@ NS_ASSUME_NONNULL_BEGIN - (void)phoneQuickLogin:(NSString *)accessToken token:(NSString*) token; - -/// 第三方登录 -/// @param type 登录的类型 -- (void)thirdLoginWithType:(ThirdLoginType)type; - -///第三方登录,谷歌登录 --(void)thirdLoginByGoogleWithPresentingViewController:(UIViewController *)presentingViewController configuration:(GIDConfiguration *)configuration; -///第三方登录,fb登录 --(void)thirdLoginByFBWithPresentingViewController:(UIViewController *)presentingViewController; -///第三方登录,line登录 --(void)thirdLoginByLine:(UIViewController *)presentingViewController; - /// 获取手机的验证码 /// @param phone 手机号 /// @param type 类型 diff --git a/YuMi/Modules/YMLogin/Presenter/LoginPresenter.m b/YuMi/Modules/YMLogin/Presenter/LoginPresenter.m index 1f39441..f36829b 100644 --- a/YuMi/Modules/YMLogin/Presenter/LoginPresenter.m +++ b/YuMi/Modules/YMLogin/Presenter/LoginPresenter.m @@ -85,68 +85,6 @@ static NSString *clinet_s = @"uyzjdhds"; } --(void)thirdLoginByLine:(UIViewController *)presentingViewController { - -} --(void)thirdLoginByFBWithPresentingViewController:(UIViewController *)presentingViewController { - -} --(void)thirdLoginByGoogleWithPresentingViewController:(UIViewController *)presentingViewController configuration:(GIDConfiguration *)configuration{ - @kWeakify(self); - [GIDSignIn sharedInstance].configuration = configuration; - [GIDSignIn.sharedInstance signInWithPresentingViewController:presentingViewController - completion:^(GIDSignInResult * _Nullable signInResult, NSError * _Nullable error) { - @kStrongify(self); - if (error) { - if (error.code == kGIDSignInErrorCodeCanceled){ - [[self getView] showErrorToast:YMLocalizedString(@"LoginPresenter0")]; - }else{ - [[self getView] showErrorToast:YMLocalizedString(@"LoginPresenter1")]; - } - } else { - ThirdUserInfo * userInfo = [[ThirdUserInfo alloc] init]; - NSString * openid = signInResult.user.userID; - NSString * access_token = signInResult.user.idToken.tokenString.length > 0 ? signInResult.user.idToken.tokenString : @""; - NSString * unionid = signInResult.user.userID; - userInfo.userName = signInResult.user.profile.name; - userInfo.avatarUrl = [[signInResult.user.profile imageURLWithDimension:60] absoluteString]; - userInfo.openid = openid; - userInfo.access_token = access_token; - userInfo.unionid = unionid; - ///保存一下第三方的值 - [AccountInfoStorage instance].thirdUserInfo = userInfo; - [self loginWithThirdGoogle]; - } - }]; -} - --(void)loginWithThirdGoogle{ - [XNDJTDDLoadingTool showOnlyView:kWindow]; - NSString * openid = [AccountInfoStorage instance].thirdUserInfo.openid; - NSString * access_token = [AccountInfoStorage instance].thirdUserInfo.access_token; - NSString * unionid = [AccountInfoStorage instance].thirdUserInfo.unionid; - @kWeakify(self); - [Api loginWithThirdPart:[self createHttpCompletion:^(BaseModel * _Nonnull data) { - @kStrongify(self); - [XNDJTDDLoadingTool hideOnlyView:kWindow]; - AccountModel * model = [AccountModel modelWithDictionary:data.data]; - if (model != nil) { - [[AccountInfoStorage instance] saveAccountInfo:model]; - [[self getView] loginThirdPartSuccess]; - } - }fail:^(NSInteger code, NSString * _Nullable msg) { - @kStrongify(self); - [XNDJTDDLoadingTool hideOnlyView:kWindow]; - if (msg.length == 0) { - [[self getView] showErrorToast:YMLocalizedString(@"LoginPresenter1")]; - } - } showLoading:YES errorToast:YES] - openid:openid - unionid:unionid - access_token:access_token - type:[NSString stringWithFormat:@"%lu", (unsigned long)ThirdLoginType_Gmail]]; -} - /// 获取手机的验证码 /// @param phone 手机号 /// @param type 类型 diff --git a/YuMi/Modules/YMLogin/View/LoginViewController.m b/YuMi/Modules/YMLogin/View/LoginViewController.m index 31b4be0..6b71a9f 100644 --- a/YuMi/Modules/YMLogin/View/LoginViewController.m +++ b/YuMi/Modules/YMLogin/View/LoginViewController.m @@ -20,9 +20,7 @@ NSString * const HadAgreePrivacy = @"HadAgreePrivacy"; typedef NS_ENUM(NSUInteger, LoginType) { LoginType_ID = 101, - LoginType_Email = 102, - LoginType_Google = 103, - LoginType_Apple = 104 + LoginType_Email = 102 }; @interface LoginViewController () @@ -33,9 +31,6 @@ typedef NS_ENUM(NSUInteger, LoginType) { @property(nonatomic, strong) YYLabel *policyLabel; @property(nonatomic, strong) UIView *policyTips; -///谷歌登录配置 -@property (nonatomic,strong) GIDConfiguration *configuration; - @end @implementation LoginViewController @@ -163,8 +158,6 @@ typedef NS_ENUM(NSUInteger, LoginType) { UIStackView *stackView = [[UIStackView alloc] initWithArrangedSubviews:@[ idBUtton, [self entrcyButton:LoginType_Email tapSelector:@selector(didTapEntrcyButton:)], - [self entrcyButton:LoginType_Google tapSelector:@selector(didTapEntrcyButton:)], - [self entrcyButton:LoginType_Apple tapSelector:@selector(didTapEntrcyButton:)], ]]; stackView.axis = UILayoutConstraintAxisVertical; stackView.distribution = UIStackViewDistributionFillEqually; @@ -204,16 +197,6 @@ typedef NS_ENUM(NSUInteger, LoginType) { [icon setImage:kImage(@"login_page_mail")]; } break; - case LoginType_Google:{ - [button setTitle:YMLocalizedString(@"XPLoginViewController13") forState:UIControlStateNormal]; - [icon setImage:kImage(@"login_gmail")]; - } - break; - case LoginType_Apple:{ - [button setTitle:YMLocalizedString(@"XPLoginViewController12") forState:UIControlStateNormal]; - [icon setImage:kImage(@"mine_noble_center_apple")]; - } - break; default: break; } @@ -258,29 +241,20 @@ typedef NS_ENUM(NSUInteger, LoginType) { return; } + LoginTypesViewController *vc = [[LoginTypesViewController alloc] init]; + switch (sender.tag) { - case LoginType_ID:{ - LoginTypesViewController *vc = [[LoginTypesViewController alloc] init]; - [self.navigationController pushViewController:vc animated:YES]; + case LoginType_ID: [vc updateLoginType:LoginDisplayType_id]; - } break; - case LoginType_Email: { - LoginTypesViewController *vc = [[LoginTypesViewController alloc] init]; - [self.navigationController pushViewController:vc animated:YES]; + case LoginType_Email: [vc updateLoginType:LoginDisplayType_email]; - } - break; - case LoginType_Google: - [self.presenter thirdLoginByGoogleWithPresentingViewController:self - configuration:self.configuration]; - break; - case LoginType_Apple: - [self.presenter thirdLoginWithType:ThirdLoginType_Apple]; break; default: break; } + + [self.navigationController pushViewController:vc animated:YES]; } - (void)didTapFeedback { @@ -412,18 +386,6 @@ typedef NS_ENUM(NSUInteger, LoginType) { return _policyTips; } -- (GIDConfiguration *)configuration{ - if (!_configuration){ - static dispatch_once_t onceToken; - static NSString *decryptedNumber; - dispatch_once(&onceToken, ^{ - decryptedNumber = [AESUtils aesDecrypt:@"ScLBu7ctIiyGCKPro3Jj6XMdsdCCpNT9L4wyjHEF+bguqubkXNSayFBGMKmoDwe1hjfAc958XSaBdMyEaFXLO38Bwq3xURYVNpgEM4b14zg="]; - }); - _configuration = [[GIDConfiguration alloc] initWithClientID:decryptedNumber]; - } - return _configuration; -} - - (UIImageView *)logoImageView { if (!_logoImageView) { _logoImageView = [[UIImageView alloc] initWithImage:kImage(@"login_page_logo")];