Files
real-e-party-iOS/YuMi/Global/YUMIMacroUitls.h
edwinQQQ 9777c3de28 refactor: 移除 Google 登录相关代码以简化项目结构
主要变更:
1. 从 Podfile 中移除 GoogleSignIn 及相关依赖,减少项目依赖。
2. 从 AppDelegate 和相关文件中删除 Google 登录初始化及相关逻辑,清理未使用的代码。
3. 移除与 Google 登录相关的 Presenter 和 ViewController 中的代码,简化登录流程。

此更新旨在提升项目的可维护性,减少冗余依赖,确保代码结构更加清晰。
2025-10-20 16:12:36 +08:00

120 lines
4.4 KiB
Objective-C
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

//
// YMMacro.h
// YUMI
//
// Created by YUMI on 2021/9/10.
//
///一些宏
#import <Foundation/Foundation.h>
#import "../Tools/Bundle/NSBundle+Localizable.h"
#ifndef YUMIMacroUitls_h
#define YUMIMacroUitls_h
#import "../Tools/Bundle/YMLanguageConfig.h"
//iPhoneX系列设备(刘海屏设备)
#define iPhoneXSeries \
({BOOL isPhoneXSeries = NO;\
if (@available(iOS 11.0, *)) {\
isPhoneXSeries = [[UIApplication sharedApplication] delegate].window.safeAreaInsets.bottom > 0.0;\
}\
(isPhoneXSeries);})
#define KScreenWidth [[UIScreen mainScreen] bounds].size.width
#define KScreenHeight [[UIScreen mainScreen] bounds].size.height
// 兼容 iOS 13+ 的状态栏高度获取
#define statusbarHeight ({\
CGFloat height = 0;\
if (@available(iOS 13.0, *)) {\
UIWindowScene *windowScene = (UIWindowScene *)[[[UIApplication sharedApplication] connectedScenes] allObjects].firstObject;\
height = windowScene.statusBarManager.statusBarFrame.size.height;\
} else {\
height = [[UIApplication sharedApplication] statusBarFrame].size.height;\
}\
height;\
})
#define kStatusBarHeight statusbarHeight
#define kSafeAreaBottomHeight (iPhoneXSeries ? 34 : 0)
#define kSafeAreaTopHeight (iPhoneXSeries ? 24 : 0)
#define kNavigationHeight (kStatusBarHeight + 44)
#define kTabBarHeight (iPhoneXSeries ? 49.0+34.0 : 49.0)
#define kScreenScale ((CGFloat)KScreenWidth / (CGFloat)375)
#define kScreenHeightScale ((CGFloat)KScreenHeight / (CGFloat)812)
#define kHalfScreenHeight KScreenHeight * 0.65
#define kGetScaleWidth(width) kRoundValue(width)
#define kRoundValue(value) round(kScreenScale * value)
#define kWeakify(o) try{}@finally{} __weak typeof(o) o##Weak = o;
#define kStrongify(o) autoreleasepool{} __strong typeof(o) o = o##Weak;
/// 兼容 iOS 13+ 的 keyWindow 获取
/// 使用此宏统一获取 keyWindow避免在各处重复实现
/// 自动处理 iOS 13+ 的 UIWindowScene 和旧版本的兼容性
/// Swift 代码请使用 EPLoginManager.getKeyWindow() 等效方法
#define kWindow ({\
UIWindow *window = nil;\
if (@available(iOS 13.0, *)) {\
for (UIWindowScene *scene in [UIApplication sharedApplication].connectedScenes) {\
if (scene.activationState == UISceneActivationStateForegroundActive) {\
for (UIWindow *w in scene.windows) {\
if (w.isKeyWindow) {\
window = w;\
break;\
}\
}\
if (window) break;\
}\
}\
} else {\
window = [UIApplication sharedApplication].keyWindow;\
}\
window;\
})
#define kImage(image) [UIImage imageNamed:image]
///UIFont
#define kFontLight(font) [UIFont systemFontOfSize:kGetScaleWidth(font) weight:UIFontWeightLight]
#define kFontRegular(font) [UIFont systemFontOfSize:kGetScaleWidth(font) weight:UIFontWeightRegular]
#define kFontMedium(font) [UIFont systemFontOfSize:kGetScaleWidth(font) weight:UIFontWeightMedium]
#define kFontSemibold(font) [UIFont systemFontOfSize:kGetScaleWidth(font) weight:UIFontWeightSemibold]
#define kFontBold(font) [UIFont systemFontOfSize:kGetScaleWidth(font) weight:UIFontWeightBold]
#define kFontHeavy(font) [UIFont systemFontOfSize:kGetScaleWidth(font) weight:UIFontWeightHeavy]
///内置版本号
#define PI_App_Version @"1.0.0"
///渠道
#define PI_App_Source @"appstore"
#define PI_Test_Flight @"TestFlight"
#define ISTestFlight 0
///正式环境
#define API_HOST_URL @"https://api.epartylive.com"
///测试环境
#define API_HOST_TEST_URL @"http://beta.api.epartylive.com" // http://beta.api.epartylive.com http://beta.api.pekolive.com | http://beta.api.molistar.xyz
#define API_Image_URL @"https://image.hfighting.com"
#define YMLocalizedString(key) \
[NSBundle ymLocalizedStringForKey:(key)]
#define isMSRTL() [YMLanguageConfig isRTLanguage:[NSBundle getLanguageText]]
///是否是中文
#define isMSZH() [[NSBundle getLanguageText] hasPrefix:@"zh"]
///是否是英文
#define isMSEN() [[NSBundle getLanguageText] hasPrefix:@"en"]
///是否土耳其语
#define isMSTR() [[NSBundle getLanguageText] hasPrefix:@"tr"]
///是否葡萄牙语
#define isMSPT() [[NSBundle getLanguageText] hasPrefix:@"pt"]
///是否西班牙语
#define isMSES() [[NSBundle getLanguageText] hasPrefix:@"es"]
///是否俄语
#define isMSRU() [[NSBundle getLanguageText] hasPrefix:@"ru"]
///是否乌兹别克语
#define isMSUZ() [[NSBundle getLanguageText] hasPrefix:@"uz"]
#endif /* YUMIMacroUitls_h */