Compare commits
173 Commits
v10.11
...
enterprise
Author | SHA1 | Date | |
---|---|---|---|
![]() |
093fbfff6f | ||
![]() |
8066ec642f | ||
![]() |
82b1391d16 | ||
![]() |
fb6935a06d | ||
![]() |
723e946141 | ||
![]() |
79015ca5ce | ||
![]() |
960a708916 | ||
![]() |
138f7ed2d9 | ||
![]() |
edcac4f7fe | ||
![]() |
994cdffa71 | ||
![]() |
44ff9e9813 | ||
![]() |
4b20c67e5a | ||
![]() |
831f62ce7d | ||
![]() |
0e0bee0a33 | ||
![]() |
768e0ed477 | ||
![]() |
9a0d452e72 | ||
![]() |
8c56f25e9f | ||
![]() |
d88839e58e | ||
![]() |
1d930ab93b | ||
![]() |
c4d8fc4e38 | ||
![]() |
edff4262a6 | ||
![]() |
e5ae6d3157 | ||
![]() |
a3b6fda673 | ||
![]() |
aebc8c0af9 | ||
![]() |
73df709df5 | ||
![]() |
b3003f1547 | ||
![]() |
311d2f6041 | ||
![]() |
7475a578e8 | ||
![]() |
10e7403101 | ||
![]() |
a2083617d9 | ||
![]() |
9506379d10 | ||
![]() |
71cbfd649b | ||
![]() |
6b1f150b65 | ||
![]() |
6256373339 | ||
![]() |
6ed407b05a | ||
![]() |
6754f38c52 | ||
![]() |
cf17b5e30c | ||
![]() |
68cd6c24f6 | ||
![]() |
be77a3a048 | ||
![]() |
d0f6157bc8 | ||
![]() |
09d2c0f49d | ||
![]() |
2632666cc3 | ||
![]() |
7d6fb8e2ce | ||
![]() |
eb3021e72d | ||
![]() |
6a12a669cb | ||
![]() |
1f66e9fe75 | ||
![]() |
940ca58a95 | ||
![]() |
1919e74c06 | ||
![]() |
35ed817644 | ||
![]() |
01c06f8985 | ||
![]() |
7c3c564074 | ||
![]() |
f8f6f04b0d | ||
![]() |
83c26770a4 | ||
![]() |
63492e37cf | ||
![]() |
2f5232a7ec | ||
![]() |
29ea2bdcd0 | ||
![]() |
361a92989e | ||
![]() |
67e0254b86 | ||
![]() |
28a9134243 | ||
![]() |
c0af92b7bc | ||
![]() |
7b9674c13f | ||
![]() |
42d7d8f502 | ||
![]() |
fbebab9792 | ||
![]() |
9f74aef971 | ||
![]() |
78765219a2 | ||
![]() |
4eb2261d2a | ||
![]() |
c1de3b4b24 | ||
![]() |
7dfc5a6569 | ||
![]() |
9ac6424755 | ||
![]() |
890c9dd4d4 | ||
![]() |
886ac6f950 | ||
![]() |
15c4fc3871 | ||
![]() |
1f7d6e472b | ||
![]() |
43446b1e50 | ||
![]() |
f8c778a14a | ||
![]() |
85244ecae5 | ||
![]() |
b221200072 | ||
![]() |
c774ccf546 | ||
![]() |
9e0ab22cda | ||
![]() |
b835a2f375 | ||
![]() |
f33e8b0ac5 | ||
![]() |
b3dbcd0ff0 | ||
![]() |
954196efa5 | ||
![]() |
a51b4778e3 | ||
![]() |
c476416283 | ||
![]() |
84413059be | ||
![]() |
74dbc6a5fd | ||
![]() |
2a085a3ea0 | ||
![]() |
48cc2d4587 | ||
![]() |
c4e6fae3e1 | ||
![]() |
4dfc17afa5 | ||
![]() |
210124d1e5 | ||
![]() |
de7ce943bd | ||
![]() |
10c0e5c182 | ||
![]() |
e4deece7b4 | ||
![]() |
3cce473244 | ||
![]() |
0188a148b2 | ||
![]() |
2435a11e85 | ||
![]() |
ccc29db030 | ||
![]() |
953c2d21db | ||
![]() |
0d14dd13f2 | ||
![]() |
5e638cd100 | ||
![]() |
48306eed5c | ||
![]() |
df9add9147 | ||
![]() |
cafd609cfc | ||
![]() |
884482b8ae | ||
![]() |
be7ee4235f | ||
![]() |
d7e8c2d3d3 | ||
![]() |
8202d0db2d | ||
![]() |
f18094a186 | ||
![]() |
dbcd388dee | ||
![]() |
e6dcd90bc3 | ||
![]() |
a92a144836 | ||
![]() |
ea23453532 | ||
![]() |
68e6959cd1 | ||
![]() |
4e6769dee5 | ||
![]() |
32d974eb12 | ||
![]() |
bea723fb82 | ||
![]() |
0df43aa154 | ||
![]() |
2ff47ed7b5 | ||
![]() |
79076f549f | ||
![]() |
695662600e | ||
![]() |
cdcb8609e7 | ||
![]() |
9349d6b084 | ||
![]() |
04c5e0390a | ||
![]() |
42f0e00db2 | ||
![]() |
9ae3f13cee | ||
![]() |
4db1967331 | ||
![]() |
d951cb68d3 | ||
![]() |
24c62d1db7 | ||
![]() |
4e0dce479d | ||
![]() |
fbc75cabb5 | ||
![]() |
b8196c5e49 | ||
![]() |
dc1d1b46e7 | ||
![]() |
faf495cf97 | ||
![]() |
7ded8add3d | ||
![]() |
6416529e04 | ||
![]() |
c320950152 | ||
![]() |
b725702e4b | ||
![]() |
f2a45c2dfa | ||
![]() |
6f974e904b | ||
![]() |
caa34fe217 | ||
![]() |
54d1c9d581 | ||
![]() |
75c37ab91f | ||
![]() |
24159ab28d | ||
![]() |
0fdc0d1f8c | ||
![]() |
fa3d394dec | ||
![]() |
c069152790 | ||
![]() |
218fce3a37 | ||
![]() |
21bc7ba70e | ||
![]() |
e63c569a87 | ||
![]() |
a882a1a17f | ||
![]() |
26bf5b8ca3 | ||
![]() |
b055076e0a | ||
![]() |
b11f8d54f1 | ||
![]() |
b5f6ce4822 | ||
![]() |
6e84953469 | ||
![]() |
50dd5d20db | ||
![]() |
c5e3f6f615 | ||
![]() |
cdfcfb33c7 | ||
![]() |
f44942dc72 | ||
![]() |
8bda1a7f8a | ||
![]() |
00e4fd98bd | ||
![]() |
7a1ffa871a | ||
![]() |
471b84dc7f | ||
![]() |
6d9d005ff0 | ||
![]() |
0a98eb1873 | ||
![]() |
1048cd66c9 | ||
![]() |
25fe36f693 | ||
![]() |
948f81dc37 | ||
![]() |
16315040b0 | ||
![]() |
20458f8f31 | ||
![]() |
dba85043bc |
37
Podfile
@@ -3,21 +3,30 @@
|
||||
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
|
||||
target 'YuMi' do
|
||||
use_frameworks!
|
||||
|
||||
#pag动画
|
||||
pod 'libpag'
|
||||
pod 'Bugly'
|
||||
pod 'Adjust', '~> 4.31.0'
|
||||
pod 'Firebase/Analytics'
|
||||
pod 'FBSDKLoginKit'
|
||||
pod 'FBSDKCoreKit'
|
||||
pod 'FBSDKShareKit'
|
||||
# 滑动标签栏
|
||||
pod 'JXCategoryView'
|
||||
pod 'JXPagingView/Pager'
|
||||
#模型转化
|
||||
pod 'MJExtension'
|
||||
#图片加载
|
||||
pod 'SDWebImage'
|
||||
#模型转化
|
||||
pod 'MJExtension'
|
||||
#图片加载
|
||||
pod 'SDWebImage'
|
||||
pod 'FLAnimatedImage'
|
||||
pod 'SDWebImageFLPlugin' # 对FLAnimatedImage和SDWebImage的桥接
|
||||
pod 'AFNetworking'
|
||||
#文字自动滚动
|
||||
pod 'MarqueeLabel-ObjC'
|
||||
pod 'MarqueeLabel'
|
||||
pod 'YYText'
|
||||
pod 'Masonry'
|
||||
#输入
|
||||
pod 'SZTextView'
|
||||
#输入
|
||||
pod 'SZTextView'
|
||||
#头饰显示
|
||||
pod 'YYWebImage'
|
||||
#轮播图
|
||||
@@ -30,13 +39,13 @@ target 'YuMi' do
|
||||
pod 'IQKeyboardManager'
|
||||
pod 'TZImagePickerController'
|
||||
#TRTC
|
||||
pod 'TXLiteAVSDK_TRTC', '~> 10.3.12317'
|
||||
pod 'TXLiteAVSDK_TRTC', '~> 11.4.14445'
|
||||
#vap礼物动画
|
||||
pod 'QGVAPlayer'
|
||||
#上传音乐
|
||||
pod 'CocoaAsyncSocket',:modular_headers => true
|
||||
#声网
|
||||
pod 'AgoraRtcEngine_iOS', '~> 3.2.2'
|
||||
pod 'AgoraRtcEngine_iOS', '~> 4.2.2'
|
||||
#上传图片
|
||||
pod 'Qiniu'
|
||||
#内购
|
||||
@@ -51,10 +60,10 @@ target 'YuMi' do
|
||||
pod 'GKCycleScrollView', '~> 1.2.0'
|
||||
pod 'SVGAPlayer'
|
||||
|
||||
pod 'GoogleSignIn', '6.2.4'
|
||||
pod 'GoogleSignIn'
|
||||
pod 'mob_linksdk_pro'
|
||||
pod 'mob_sharesdk'
|
||||
pod 'mob_sharesdk/ShareSDKPlatforms/Apple'
|
||||
pod 'mob_sharesdk/ShareSDKPlatforms/Facebook_Lite'
|
||||
pod 'mob_sharesdk/ShareSDKPlatforms/Line'
|
||||
pod 'mob_sharesdk/ShareSDKExtension'
|
||||
|
||||
@@ -73,6 +82,10 @@ post_install do |installer|
|
||||
project.targets.each do |target|
|
||||
target.build_configurations.each do |config|
|
||||
config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.0'
|
||||
xcconfig_path = config.base_configuration_reference.real_path
|
||||
xcconfig = File.read(xcconfig_path)
|
||||
xcconfig_mod = xcconfig.gsub(/DT_TOOLCHAIN_DIR/, "TOOLCHAIN_DIR")
|
||||
File.open(xcconfig_path, "w") { |file| file << xcconfig_mod }
|
||||
end
|
||||
end
|
||||
end
|
||||
|
@@ -31,7 +31,7 @@
|
||||
</Testables>
|
||||
</TestAction>
|
||||
<LaunchAction
|
||||
buildConfiguration = "Release"
|
||||
buildConfiguration = "Debug"
|
||||
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
|
||||
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
|
||||
launchStyle = "0"
|
||||
|
@@ -22,6 +22,10 @@
|
||||
#import "XPRoomViewController.h"
|
||||
#import "XCCurrentVCStackManager.h"
|
||||
#import "ClientConfig.h"
|
||||
#import <Adjust/Adjust.h>
|
||||
|
||||
#import <Bugly/Bugly.h>
|
||||
|
||||
|
||||
UIKIT_EXTERN NSString * kYouMiNumberCountKey;
|
||||
UIKIT_EXTERN NSString * adImageName;
|
||||
@@ -34,12 +38,38 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
[self configShareSDK];
|
||||
[self configNIMSDK];
|
||||
[self initEmojiData];
|
||||
[self configAdjust];
|
||||
[self configBugly];
|
||||
}
|
||||
/**
|
||||
崩溃收集 Bugly
|
||||
*/
|
||||
- (void) configBugly {
|
||||
|
||||
BuglyConfig *config = [[BuglyConfig alloc] init];
|
||||
|
||||
config.blockMonitorTimeout = 5;
|
||||
config.unexpectedTerminatingDetectionEnable = YES; // 非正常退出事件记录开关,默认关闭
|
||||
|
||||
#ifdef DEBUG
|
||||
config.debugMode = YES; // debug 模式下,开启调试模式
|
||||
config.channel = [YYUtility getAppSource];; config.blockMonitorEnable = YES; // 卡顿监控开关,默认关闭
|
||||
config.reportLogLevel = BuglyLogLevelVerbose; // 设置打印日志级别
|
||||
[Bugly startWithAppId:@"86cf73b8d5" config:config];
|
||||
#else
|
||||
config.debugMode = NO; // release 模式下,关闭调试模式
|
||||
config.channel = [YYUtility getAppSource];; config.blockMonitorEnable = NO; // 卡顿监控开关,默认关闭
|
||||
config.reportLogLevel = BuglyLogLevelWarn; // 设置自定义日志上报的级别,默认不上报自定义日志
|
||||
NSString *buylyKey = isEnterprise == NO ? @"5334684d86" : @"d65df59a68";
|
||||
[Bugly startWithAppId:buylyKey config:config];
|
||||
#endif
|
||||
|
||||
}
|
||||
- (void)configNIMSDK {
|
||||
//推荐在程序启动的时候初始化 NIMSDK
|
||||
NSString *appKey = KeyWithType(KeyType_NetEase);
|
||||
NIMSDKOption *option = [NIMSDKOption optionWithAppKey:appKey];
|
||||
option.apnsCername = @"newPiko";
|
||||
[[NIMSDK sharedSDK] registerWithOption:option];
|
||||
|
||||
// NIM SDK初始化
|
||||
@@ -53,11 +83,32 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
#endif
|
||||
}
|
||||
|
||||
|
||||
-(void)configAdjust{
|
||||
NSString *appToken = @"p5sndfu9udq8";
|
||||
NSString *environment;
|
||||
#ifdef DEBUG
|
||||
environment = ADJEnvironmentSandbox;
|
||||
#else
|
||||
environment = ADJEnvironmentProduction;
|
||||
#endif
|
||||
|
||||
ADJConfig*adjustConfig = [ADJConfig configWithAppToken:appToken
|
||||
environment:environment];
|
||||
|
||||
#ifdef DEBUG
|
||||
[adjustConfig setLogLevel:ADJLogLevelVerbose];
|
||||
#else
|
||||
|
||||
#endif
|
||||
[Adjust appDidLaunch:adjustConfig];
|
||||
}
|
||||
- (void)configShareSDK {
|
||||
|
||||
|
||||
|
||||
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) {
|
||||
///faceBook
|
||||
[platformsRegister setupFacebookWithAppkey:@"1266232494209868" appSecret:@"c9b170b383f8be9cdf118823b8632821" displayName:YMLocalizedString(@"AppDelegate_ThirdConfig0")];
|
||||
// [platformsRegister setupFacebookWithAppkey:@"1266232494209868" appSecret:@"c9b170b383f8be9cdf118823b8632821" displayName:YMLocalizedString(@"AppDelegate_ThirdConfig0")];
|
||||
[platformsRegister setupLineAuthType:SSDKAuthorizeTypeBoth];
|
||||
}];
|
||||
}
|
||||
@@ -113,7 +164,10 @@ UIKIT_EXTERN NSString * adImageName;
|
||||
if (!shouldJump || info == nil) {
|
||||
return;
|
||||
}
|
||||
[self performSelectorOnMainThread:@selector(advertiseJumpHandleWithInfo:) withObject:info waitUntilDone:NO];
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
[self performSelectorOnMainThread:@selector(advertiseJumpHandleWithInfo:) withObject:info waitUntilDone:NO];
|
||||
});
|
||||
|
||||
};
|
||||
[advertiseView show];
|
||||
}
|
||||
|
@@ -11,6 +11,17 @@
|
||||
#import "AppDelegate+ThirdConfig.h"
|
||||
#import <NIMSDK/NIMSDK.h>
|
||||
#import <UMCommon/UMCommon.h>
|
||||
#import <FBSDKCoreKit/FBSDKCoreKit.h>
|
||||
#import <AppTrackingTransparency/AppTrackingTransparency.h>
|
||||
#import "ClientConfig.h"
|
||||
#import <GoogleSignIn/GoogleSignIn.h>
|
||||
#import "GULAppDelegateSwizzler.h"
|
||||
#import <GoogleSignIn/GoogleSignIn.h>
|
||||
#import "XPLoginViewController.h"
|
||||
#import "AccountModel.h"
|
||||
@import Firebase;
|
||||
UIKIT_EXTERN NSString * const kOpenRoomNotification;
|
||||
|
||||
@interface AppDelegate ()
|
||||
|
||||
@end
|
||||
@@ -18,10 +29,22 @@
|
||||
@implementation AppDelegate
|
||||
|
||||
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
|
||||
TabbarViewController *vc = [[TabbarViewController alloc] init];
|
||||
BaseNavigationController *bnc = [[BaseNavigationController alloc] initWithRootViewController:vc];
|
||||
|
||||
|
||||
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
|
||||
self.window.rootViewController = bnc;
|
||||
|
||||
AccountModel *accountModel = [[AccountInfoStorage instance] getCurrentAccountInfo];
|
||||
if (accountModel == nil || accountModel.uid == nil || accountModel.access_token == nil) {
|
||||
XPLoginViewController *lvc = [[XPLoginViewController alloc] init];
|
||||
BaseNavigationController * nav = [[BaseNavigationController alloc] initWithRootViewController:lvc];
|
||||
nav.modalPresentationStyle = UIModalPresentationFullScreen;
|
||||
self.window.rootViewController = nav;
|
||||
}else{
|
||||
TabbarViewController *vc = [[TabbarViewController alloc] init];
|
||||
BaseNavigationController *bnc = [[BaseNavigationController alloc] initWithRootViewController:vc];
|
||||
self.window.rootViewController = bnc;
|
||||
}
|
||||
|
||||
[self.window makeKeyAndVisible];
|
||||
///设置广告页
|
||||
[self setupLaunchADView];
|
||||
@@ -32,20 +55,102 @@
|
||||
///初始化友盟
|
||||
[UMConfigure initWithAppkey:@"6434c6dfd64e686139618269" channel:@"yumi_appstore"];
|
||||
}
|
||||
[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
|
||||
[FIRApp configure];
|
||||
|
||||
|
||||
return YES;
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
- (void)applicationDidEnterBackground:(UIApplication *)application {
|
||||
NSInteger count = [NIMSDK sharedSDK].conversationManager.allUnreadCount;
|
||||
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:count];
|
||||
}
|
||||
- (void)applicationDidBecomeActive:(UIApplication *)application {
|
||||
[self getAdvertisingTrackingAuthority];
|
||||
}
|
||||
- (void)getAdvertisingTrackingAuthority {
|
||||
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
|
||||
if (@available(iOS 14, *)) {
|
||||
ATTrackingManagerAuthorizationStatus status = ATTrackingManager.trackingAuthorizationStatus;
|
||||
switch (status) {
|
||||
case ATTrackingManagerAuthorizationStatusDenied:
|
||||
NSLog(@"用户拒绝IDFA");
|
||||
break;
|
||||
case ATTrackingManagerAuthorizationStatusAuthorized:
|
||||
NSLog(@"用户允许IDFA");
|
||||
break;
|
||||
case ATTrackingManagerAuthorizationStatusNotDetermined: {
|
||||
NSLog(@"用户未做选择或未弹窗IDFA");
|
||||
//请求弹出用户授权框,只会在程序运行是弹框1次,除非卸载app重装,通地图、相机等权限弹框一样
|
||||
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
|
||||
NSLog(@"app追踪IDFA权限:%lu",(unsigned long)status);
|
||||
}];
|
||||
}
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
|
||||
// 上传devicetoken至云信服务器。
|
||||
[[NIMSDK sharedSDK] updateApnsToken:deviceToken];
|
||||
}
|
||||
|
||||
///URL Scheme跳转
|
||||
-(BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options{
|
||||
|
||||
|
||||
|
||||
NSString *text = [url query];
|
||||
if(text.length){
|
||||
NSMutableDictionary *paramsDict = [NSMutableDictionary dictionary];
|
||||
NSArray *paramArray = [text componentsSeparatedByString:@"&"];
|
||||
for (NSString *param in paramArray) {
|
||||
if (param && param.length) {
|
||||
NSArray *parArr = [param componentsSeparatedByString:@"="];
|
||||
if (parArr.count == 2) {
|
||||
[paramsDict setObject:parArr[1] forKey:parArr[0]];
|
||||
}
|
||||
}
|
||||
}
|
||||
if(paramsDict[@"type"] != nil){
|
||||
NSInteger type = [paramsDict[@"type"] integerValue];
|
||||
if (type == 2) {
|
||||
NSString *uid = [NSString stringWithFormat:@"%@",paramsDict[@"uid"]];
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:kOpenRoomNotification object:nil userInfo:@{@"uid":uid}];
|
||||
ClientConfig *config = [ClientConfig shareConfig];
|
||||
config.roomId = uid;
|
||||
}else if(type == 7){
|
||||
NSString *uid = [NSString stringWithFormat:@"%@",paramsDict[@"uid"]];
|
||||
[[NSNotificationCenter defaultCenter]postNotificationName:kOpenRoomNotification object:nil userInfo:@{@"type":@"kOpenChat",@"uid":uid}];
|
||||
ClientConfig *config = [ClientConfig shareConfig];
|
||||
config.chatId = uid;
|
||||
}
|
||||
return YES;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if([url.absoluteString containsString:@"fb1266232494209868"]){
|
||||
return [[FBSDKApplicationDelegate sharedInstance] application:app
|
||||
openURL:url
|
||||
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
|
||||
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
|
||||
}
|
||||
|
||||
return [GIDSignIn.sharedInstance handleURL:url];
|
||||
|
||||
|
||||
}
|
||||
|
||||
|
||||
#pragma mark - Core Data stack
|
||||
@synthesize managedObjectContext = _managedObjectContext;
|
||||
|
16
YuMi/Appdelegate/FBSDKSettings+PISDKSettings.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// FBSDKSettings+PISDKSettings.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2023/9/22.
|
||||
//
|
||||
|
||||
#import <FBSDKCoreKit/FBSDKCoreKit.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface FBSDKSettings (PISDKSettings)
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
19
YuMi/Appdelegate/FBSDKSettings+PISDKSettings.m
Normal file
@@ -0,0 +1,19 @@
|
||||
//
|
||||
// FBSDKSettings+PISDKSettings.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2023/9/22.
|
||||
//
|
||||
|
||||
#import "FBSDKSettings+PISDKSettings.h"
|
||||
#import "GULAppDelegateSwizzler.h"
|
||||
|
||||
|
||||
@implementation FBSDKSettings (PISDKSettings)
|
||||
///必须为FBSDKSettings添加setAutoLogAppEventsEnabled方法,不然分享时会闪退
|
||||
+(void)setAutoLogAppEventsEnabled:(BOOL)is{
|
||||
|
||||
}
|
||||
|
||||
|
||||
@end
|
16
YuMi/Appdelegate/YYTextAsyncLayer+PITextAsyncLayer.h
Normal file
@@ -0,0 +1,16 @@
|
||||
//
|
||||
// YYTextAsyncLayer+PITextAsyncLayer.h
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2023/10/28.
|
||||
//
|
||||
|
||||
#import <YYText/YYTextAsyncLayer.h>
|
||||
|
||||
NS_ASSUME_NONNULL_BEGIN
|
||||
|
||||
@interface YYTextAsyncLayer (PITextAsyncLayer)
|
||||
|
||||
@end
|
||||
|
||||
NS_ASSUME_NONNULL_END
|
26
YuMi/Appdelegate/YYTextAsyncLayer+PITextAsyncLayer.m
Normal file
@@ -0,0 +1,26 @@
|
||||
//
|
||||
// YYTextAsyncLayer+PITextAsyncLayer.m
|
||||
// YuMi
|
||||
//
|
||||
// Created by duoban on 2023/10/28.
|
||||
//
|
||||
|
||||
#import "YYTextAsyncLayer+PITextAsyncLayer.h"
|
||||
|
||||
@implementation YYTextAsyncLayer (PITextAsyncLayer)
|
||||
///iOS17bug,如果不把方法替换会闪退
|
||||
+(void)load {
|
||||
Method displayMethod = class_getInstanceMethod(self, @selector(display));
|
||||
Method swizzingMethod = class_getInstanceMethod(self, @selector(swizzing_display));
|
||||
method_exchangeImplementations(displayMethod, swizzingMethod);
|
||||
}
|
||||
-(void)swizzing_display{
|
||||
//通过变量名称获取类中的实例成员变量
|
||||
if (self.bounds.size.width <= 0 || self.bounds.size.height <= 0) {
|
||||
self.contents = nil;
|
||||
return;
|
||||
} else {
|
||||
[self swizzing_display];
|
||||
}
|
||||
}
|
||||
@end
|
Before Width: | Height: | Size: 144 KiB |
BIN
YuMi/Assets.xcassets/AppIcon.appiconset/1024*1024.png
Normal file
After Width: | Height: | Size: 74 KiB |
@@ -1,7 +1,7 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"filename" : "1024.png",
|
||||
"filename" : "1024*1024.png",
|
||||
"idiom" : "universal",
|
||||
"platform" : "ios",
|
||||
"size" : "1024x1024"
|
||||
|
Before Width: | Height: | Size: 738 B After Width: | Height: | Size: 410 B |
Before Width: | Height: | Size: 1.0 KiB After Width: | Height: | Size: 656 B |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "redPacket_open@2x.png",
|
||||
"filename" : "login_apple@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "redPacket_open@3x.png",
|
||||
"filename" : "login_apple@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_apple.imageset/login_apple@2x.png
vendored
Normal file
After Width: | Height: | Size: 1004 B |
BIN
YuMi/Assets.xcassets/Login/login_apple.imageset/login_apple@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 290 B After Width: | Height: | Size: 175 B |
Before Width: | Height: | Size: 325 B After Width: | Height: | Size: 206 B |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_play_male_border@2x.png",
|
||||
"filename" : "login_choose_phone_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "home_play_male_border@3x.png",
|
||||
"filename" : "login_choose_phone_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_choose_phone_bg.imageset/login_choose_phone_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
YuMi/Assets.xcassets/Login/login_choose_phone_bg.imageset/login_choose_phone_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.7 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_candy_tree_add@2x.png",
|
||||
"filename" : "login_choose_pwd_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_candy_tree_add@3x.png",
|
||||
"filename" : "login_choose_pwd_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_choose_pwd_bg.imageset/login_choose_pwd_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.2 KiB |
BIN
YuMi/Assets.xcassets/Login/login_choose_pwd_bg.imageset/login_choose_pwd_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 381 B After Width: | Height: | Size: 306 B |
Before Width: | Height: | Size: 479 B After Width: | Height: | Size: 461 B |
Before Width: | Height: | Size: 764 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 2.6 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "send_redpacket_bg@2x.png",
|
||||
"filename" : "login_full_female@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "send_redpacket_bg@3x.png",
|
||||
"filename" : "login_full_female@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_full_female.imageset/login_full_female@2x.png
vendored
Normal file
After Width: | Height: | Size: 599 B |
BIN
YuMi/Assets.xcassets/Login/login_full_female.imageset/login_full_female@3x.png
vendored
Normal file
After Width: | Height: | Size: 922 B |
22
YuMi/Assets.xcassets/Login/login_full_female_logo.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_full_female_logo@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_full_female_logo@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_full_female_logo.imageset/login_full_female_logo@2x.png
vendored
Normal file
After Width: | Height: | Size: 3.8 KiB |
BIN
YuMi/Assets.xcassets/Login/login_full_female_logo.imageset/login_full_female_logo@3x.png
vendored
Normal file
After Width: | Height: | Size: 6.1 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 4.1 KiB |
Before Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 1.0 KiB |
Before Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 7.7 KiB |
Before Width: | Height: | Size: 4.3 KiB After Width: | Height: | Size: 816 B |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 1.4 KiB |
22
YuMi/Assets.xcassets/Login/login_full_male.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_full_male@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_full_male@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_full_male.imageset/login_full_male@2x.png
vendored
Normal file
After Width: | Height: | Size: 636 B |
BIN
YuMi/Assets.xcassets/Login/login_full_male.imageset/login_full_male@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.0 KiB |
22
YuMi/Assets.xcassets/Login/login_full_male_logo.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_full_male_logo@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_full_male_logo@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_full_male_logo.imageset/login_full_male_logo@2x.png
vendored
Normal file
After Width: | Height: | Size: 3.5 KiB |
BIN
YuMi/Assets.xcassets/Login/login_full_male_logo.imageset/login_full_male_logo@3x.png
vendored
Normal file
After Width: | Height: | Size: 5.5 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1012 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.8 KiB |
22
YuMi/Assets.xcassets/Login/login_next_login.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_next_login@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_next_login@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_next_login.imageset/login_next_login@2x.png
vendored
Normal file
After Width: | Height: | Size: 431 B |
BIN
YuMi/Assets.xcassets/Login/login_next_login.imageset/login_next_login@3x.png
vendored
Normal file
After Width: | Height: | Size: 690 B |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "redPacket_msg_icon@2x.png",
|
||||
"filename" : "login_phone_pwd_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "redPacket_msg_icon@3x.png",
|
||||
"filename" : "login_phone_pwd_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
BIN
YuMi/Assets.xcassets/Login/login_phone_pwd_bg.imageset/login_phone_pwd_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 32 KiB |
BIN
YuMi/Assets.xcassets/Login/login_phone_pwd_bg.imageset/login_phone_pwd_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 77 KiB |
Before Width: | Height: | Size: 509 B After Width: | Height: | Size: 159 B |
Before Width: | Height: | Size: 695 B After Width: | Height: | Size: 231 B |
22
YuMi/Assets.xcassets/Monents/mine_dynamic.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_dynamic@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "mine_dynamic@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/Monents/mine_dynamic.imageset/mine_dynamic@2x.png
vendored
Normal file
After Width: | Height: | Size: 995 B |
BIN
YuMi/Assets.xcassets/Monents/mine_dynamic.imageset/mine_dynamic@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 968 B After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 1.4 KiB After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 896 B |
Before Width: | Height: | Size: 2.2 KiB After Width: | Height: | Size: 1.5 KiB |
Before Width: | Height: | Size: 517 B After Width: | Height: | Size: 658 B |
Before Width: | Height: | Size: 787 B After Width: | Height: | Size: 958 B |
22
YuMi/Assets.xcassets/Monents/monents_on_line_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "monents_on_line_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "monents_on_line_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/Monents/monents_on_line_bg.imageset/monents_on_line_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.1 KiB |
BIN
YuMi/Assets.xcassets/Monents/monents_on_line_bg.imageset/monents_on_line_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 1.8 KiB |
22
YuMi/Assets.xcassets/Monents/monents_on_line_note.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "monents_on_line_note@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "monents_on_line_note@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/Monents/monents_on_line_note.imageset/monents_on_line_note@2x.png
vendored
Normal file
After Width: | Height: | Size: 384 B |
BIN
YuMi/Assets.xcassets/Monents/monents_on_line_note.imageset/monents_on_line_note@3x.png
vendored
Normal file
After Width: | Height: | Size: 548 B |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 6.1 KiB |
@@ -5,12 +5,12 @@
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_full_info_female_select@2x.png",
|
||||
"filename" : "message_content_service_reply@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "login_full_info_female_select@3x.png",
|
||||
"filename" : "message_content_service_reply@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
After Width: | Height: | Size: 9.9 KiB |
After Width: | Height: | Size: 21 KiB |
22
YuMi/Assets.xcassets/chat/message_main_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "message_main_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "message_main_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/chat/message_main_bg.imageset/message_main_bg@2x.png
vendored
Normal file
After Width: | Height: | Size: 25 KiB |
BIN
YuMi/Assets.xcassets/chat/message_main_bg.imageset/message_main_bg@3x.png
vendored
Normal file
After Width: | Height: | Size: 51 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treaseure_fairy_large_gift_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treaseure_fairy_large_gift_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treaseure_fairy_large_gift_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 28 KiB |
After Width: | Height: | Size: 54 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treaseure_fairy_normal_gift_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treaseure_fairy_normal_gift_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treaseure_fairy_normal_gift_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 21 KiB |
After Width: | Height: | Size: 42 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_faily_result_gift_bg.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treasure_faily_result_gift_bg@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treasure_faily_result_gift_bg@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
After Width: | Height: | Size: 7.4 KiB |
After Width: | Height: | Size: 14 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_back.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treasure_fairy_back@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treasure_fairy_back@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|
BIN
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_back.imageset/room_treasure_fairy_back@2x.png
vendored
Normal file
After Width: | Height: | Size: 1.8 KiB |
BIN
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_back.imageset/room_treasure_fairy_back@3x.png
vendored
Normal file
After Width: | Height: | Size: 3.8 KiB |
22
YuMi/Assets.xcassets/jm/Fairy/room_treasure_fairy_ball_ask.imageset/Contents.json
vendored
Normal file
@@ -0,0 +1,22 @@
|
||||
{
|
||||
"images" : [
|
||||
{
|
||||
"idiom" : "universal",
|
||||
"scale" : "1x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treasure_fairy_ball_ask@2x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "2x"
|
||||
},
|
||||
{
|
||||
"filename" : "room_treasure_fairy_ball_ask@3x.png",
|
||||
"idiom" : "universal",
|
||||
"scale" : "3x"
|
||||
}
|
||||
],
|
||||
"info" : {
|
||||
"author" : "xcode",
|
||||
"version" : 1
|
||||
}
|
||||
}
|