Compare commits

...

43 Commits

Author SHA1 Message Date
liyuhua
f2a45c2dfa 版本发布修改 此commit置顶 10.13 2023-08-17 15:05:04 +08:00
liyuhua
6f974e904b 新增苹果登录 2023-08-16 23:16:13 +08:00
liyuhua
caa34fe217 删除苹果登录 2023-08-16 23:15:14 +08:00
liyuhua
54d1c9d581 修复bug 2023-08-16 23:04:17 +08:00
liyuhua
75c37ab91f 修复bug 2023-08-16 21:30:09 +08:00
liyuhua
24159ab28d 修复属性字段,防止混沌时接口出错 2023-08-16 19:11:02 +08:00
liyuhua
0fdc0d1f8c 修复bug 2023-08-16 18:40:56 +08:00
liyuhua
fa3d394dec 修复塔罗房间公屏不显示问题 2023-08-16 17:03:40 +08:00
liyuhua
c069152790 修复bug 2023-08-16 16:44:09 +08:00
liyuhua
218fce3a37 修复bug 2023-08-16 15:50:27 +08:00
liyuhua
21bc7ba70e 修复bug 2023-08-16 14:22:12 +08:00
liyuhua
e63c569a87 修复bug 2023-08-16 14:21:58 +08:00
liyuhua
a882a1a17f 优化及修复bug 2023-08-14 19:03:26 +08:00
liyuhua
26bf5b8ca3 修复属性字段,防止混沌时接口出错 2023-08-14 17:27:22 +08:00
liyuhua
b055076e0a 动态修改 2023-08-14 17:16:30 +08:00
liyuhua
b11f8d54f1 新增bugly 2023-08-14 14:45:44 +08:00
liyuhua
b5f6ce4822 登录界面更改 2023-08-14 14:39:41 +08:00
liyuhua
6e84953469 登录更改 2023-08-11 14:46:56 +08:00
liyuhua
50dd5d20db 启动图修改 2023-08-10 18:47:18 +08:00
liyuhua
c5e3f6f615 标签更改 2023-08-10 18:44:57 +08:00
liyuhua
cdfcfb33c7 新增声音卡 2023-08-10 18:44:46 +08:00
liyuhua
f44942dc72 新增声音卡 2023-08-10 16:25:34 +08:00
liyuhua
8bda1a7f8a 新增夺宝精灵 2023-08-10 10:12:19 +08:00
liyuhua
00e4fd98bd 修复bug 2023-08-09 15:42:15 +08:00
liyuhua
7a1ffa871a 部分简单转繁体 2023-08-09 11:55:27 +08:00
liyuhua
471b84dc7f 加入Firebbase 2023-08-08 16:48:02 +08:00
liyuhua
6d9d005ff0 去掉房间内的动画 2023-08-08 16:37:36 +08:00
liyuhua
0a98eb1873 TrtcKey更换 2023-08-08 14:40:31 +08:00
liyuhua
1048cd66c9 新增adjust及帐单更改 2023-08-08 11:26:07 +08:00
liyuhua
25fe36f693 修复bug 2023-08-07 10:28:29 +08:00
liyuhua
948f81dc37 修复bug 2023-08-04 17:40:16 +08:00
liyuhua
16315040b0 修复bug 2023-08-04 15:34:52 +08:00
liyuhua
20458f8f31 修复bug 2023-08-04 11:47:43 +08:00
liyuhua
dba85043bc 修复bug 2023-07-31 11:46:41 +08:00
liyuhua
01ce491831 修复bug 2023-07-24 10:09:08 +08:00
liyuhua
447b189d4f 优化。修复bug 2023-07-21 18:53:10 +08:00
liyuhua
bea4ee9c6c 修复bug 2023-07-21 14:07:04 +08:00
liyuhua
e59ece7222 修复bug 2023-07-19 14:41:04 +08:00
liyuhua
979cc9f672 修复bug 2023-07-18 18:26:10 +08:00
liyuhua
fc0480ea2c 更换项目 2023-07-14 18:50:55 +08:00
liyuhua
fff67e0aee 修复bug 2023-07-14 18:46:41 +08:00
liyuhua
2e72436bb9 飘屏更改 2023-07-11 10:47:13 +08:00
liyuhua
6667348464 新增夺宝精灵 2023-07-10 11:09:23 +08:00
9321 changed files with 266601 additions and 203099 deletions

153
.gitignore vendored Normal file
View File

@@ -0,0 +1,153 @@
# Xcode
#
# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore
## Build generated
build/
DerivedData/
PlanetStar.xcodeproj/xcuserdata/
PlanetStar.xcworkspace/
*.swp
PlanetStar.xcodeproj/project.xcworkspace/xcuserdata/
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
## Other
*.moved-aside
*.xccheckout
*.xcscmblueprint
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
# CocoaPods
#
# We recommend against adding the Pods directory to your .gitignore. However
# you should judge for yourself, the pros and cons are mentioned at:
# https://guides.cocoapods.org/using/using-cocoapods.html#should-i-check-the-pods-directory-into-source-control
#
Pods/
# Carthage
#
# Add this line if you want to avoid checking in source code from Carthage dependencies.
# Carthage/Checkouts
Carthage/Build
# fastlane
#
# It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
# screenshots whenever they are needed.
# For more information about the recommended setup visit:
# https://docs.fastlane.tools/best-practices/source-control/#source-control
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
# Code Injection
#
# After new code Injection tools there's a generated folder /iOSInjectionProject
# https://github.com/johnno1962/injectionforxcode
iOSInjectionProject/
# Compiled class file
*.class
# Log file
*.log
# BlueJ files
*.ctxt
# Mobile Tools for Java (J2ME)
.mtj.tmp/
# Package Files #
*.war
*.ear
*.zip
*.tar.gz
*.rar
# virtual machine crash logs, see http://www.java.com/en/download/help/error_hotspot.xml
hs_err_pid*
# Built application files
*.apk
*.ap_
# Files for the ART/Dalvik VM
*.dex
# Java class files
*.class
# Generated files
bin/
gen/
out/
# Gradle files
.gradle/
build/
# Local configuration file (sdk path, etc)
local.properties
# Proguard folder generated by Eclipse
proguard/
# Log Files
*.log
# Android Studio Navigation editor temp files
.navigation/
# Android Studio captures folder
captures/
# Intellij
*.iml
build/
.idea/
.gradle/
local.properties
# Keystore files
# External native build folder generated in Android Studio 2.2 and later
.externalNativeBuild
# Google Services (e.g. APIs or Firebase)
google-services.json
# Freeline
freeline.py
freeline/
freeline_project_description.json
iOS/Podfile.lock
Podfile.lock
*/.DS_Store
.DS_Store

View File

@@ -3,7 +3,10 @@
source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git' source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
target 'YuMi' do target 'YuMi' do
use_frameworks! use_frameworks!
pod 'Bugly'
pod 'Adjust', '~> 4.31.0'
pod 'Firebase/Analytics'
pod 'FBSDKLoginKit'
# 滑动标签栏 # 滑动标签栏
pod 'JXCategoryView' pod 'JXCategoryView'
pod 'JXPagingView/Pager' pod 'JXPagingView/Pager'
@@ -54,7 +57,6 @@ target 'YuMi' do
pod 'GoogleSignIn', '6.2.4' pod 'GoogleSignIn', '6.2.4'
pod 'mob_sharesdk' pod 'mob_sharesdk'
pod 'mob_sharesdk/ShareSDKPlatforms/Apple' pod 'mob_sharesdk/ShareSDKPlatforms/Apple'
pod 'mob_sharesdk/ShareSDKPlatforms/Facebook_Lite'
pod 'mob_sharesdk/ShareSDKPlatforms/Line' pod 'mob_sharesdk/ShareSDKPlatforms/Line'
pod 'mob_sharesdk/ShareSDKExtension' pod 'mob_sharesdk/ShareSDKExtension'
@@ -66,8 +68,8 @@ target 'YuMi' do
pod 'WMZDropDownMenu' pod 'WMZDropDownMenu'
pod 'TABAnimated' pod 'TABAnimated'
pod 'YuMi',:path=>'yum' pod 'YuMi',:path=>'yum'
end end
post_install do |installer| post_install do |installer|
installer.generated_projects.each do |project| installer.generated_projects.each do |project|
project.targets.each do |target| project.targets.each do |target|

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:YuMi.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -10,9 +10,12 @@
NS_ASSUME_NONNULL_BEGIN NS_ASSUME_NONNULL_BEGIN
@interface AppDelegate (ThirdConfig) @interface AppDelegate (ThirdConfig)
- (void)initTertiusDisposition; /// 初始化一些第三方配置
- (void)initThirdConfig;
- (void)setupLaunchADRegard; /**
设置广告页
*/
- (void)setupLaunchADView;
@end @end
NS_ASSUME_NONNULL_END NS_ASSUME_NONNULL_END

View File

@@ -6,20 +6,26 @@
// //
#import "AppDelegate+ThirdConfig.h" #import "AppDelegate+ThirdConfig.h"
///Third
#import <NIMSDK/NIMSDK.h> #import <NIMSDK/NIMSDK.h>
#import <ShareSDK/ShareSDK.h> #import <ShareSDK/ShareSDK.h>
#import <UserNotifications/UNUserNotificationCenter.h> #import <UserNotifications/UNUserNotificationCenter.h>
///Tool
#import "YUMIConstant.h" #import "YUMIConstant.h"
#import "CustomAttachmentDecoder.h" #import "CustomAttachmentDecoder.h"
#import "MHTSpiritFacilitater.h" #import "QEmotionHelper.h"
#import "YUMIAdvertiseRegard.h" #import "XPAdvertiseView.h"
#import "YUMIAdIndicateTool.h" #import "XPAdImageTool.h"
#import "YUMIMacroUitls.h" #import "YUMIMacroUitls.h"
#import "AdvertiseMatrix.h" #import "AdvertiseModel.h"
#import "YUMITissueRegardGovernancer.h" #import "XPWebViewController.h"
#import "YUMIChamberRegardGovernancer.h" #import "XPRoomViewController.h"
#import "XCCurrentVCStackExecutive.h" #import "XCCurrentVCStackManager.h"
#import "ClientDisposition.h" #import "ClientConfig.h"
#import <Adjust/Adjust.h>
#import <Bugly/Bugly.h>
UIKIT_EXTERN NSString * kYouMiNumberCountKey; UIKIT_EXTERN NSString * kYouMiNumberCountKey;
UIKIT_EXTERN NSString * adImageName; UIKIT_EXTERN NSString * adImageName;
@@ -27,22 +33,46 @@ UIKIT_EXTERN NSString * adImageName;
@implementation AppDelegate (ThirdConfig) @implementation AppDelegate (ThirdConfig)
- (void)initTertiusDisposition { ///
[self prohibitipositionPartowardsiciptowardsionSDK]; - (void)initThirdConfig {
[self prohibitipositionNEMCSDK]; [self configShareSDK];
[self initEmojiTowardsoloudspeaker]; [self configNIMSDK];
[self initEmojiData];
[self configAdjust];
[self configBugly];
} }
/**
Bugly
*/
- (void) configBugly {
- (void)prohibitipositionNEMCSDK { BuglyConfig *config = [[BuglyConfig alloc] init];
config.channel = @"App Enterprise";
config.blockMonitorEnable = YES; //
config.blockMonitorTimeout = 5;
config.unexpectedTerminatingDetectionEnable = YES; // 退
NSString *appKey = KeyWithType(KeyGenre_NetEase); #ifdef DEBUG
config.debugMode = YES; // debug
config.reportLogLevel = BuglyLogLevelVerbose; //
[Bugly startWithAppId:@"86cf73b8d5" config:config];
#else
config.debugMode = NO; // release
config.reportLogLevel = BuglyLogLevelWarn; //
[Bugly startWithAppId:@"0fcba36f9a" config:config];
#endif
}
- (void)configNIMSDK {
// NIMSDK
NSString *appKey = KeyWithType(KeyType_NetEase);
NIMSDKOption *option = [NIMSDKOption optionWithAppKey:appKey]; NIMSDKOption *option = [NIMSDKOption optionWithAppKey:appKey];
[[NIMSDK sharedSDK] registerWithOption:option]; [[NIMSDK sharedSDK] registerWithOption:option];
// NIM SDK
[NIMCustomObject registerCustomDecoder:[[CustomAttachmentDecoder alloc] init]]; [NIMCustomObject registerCustomDecoder:[[CustomAttachmentDecoder alloc] init]];
[NIMSDKConfig sharedConfig].shouldConsiderRevokedMessageUnreadCount = YES; [NIMSDKConfig sharedConfig].shouldConsiderRevokedMessageUnreadCount = YES;
///
[[NIMSDKConfig sharedConfig] setShouldSyncStickTopSessionInfos:YES]; [[NIMSDKConfig sharedConfig] setShouldSyncStickTopSessionInfos:YES];
#ifdef DEBUG #ifdef DEBUG
[NIMSDKConfig sharedConfig].enabledHttpsForInfo = NO; [NIMSDKConfig sharedConfig].enabledHttpsForInfo = NO;
@@ -50,17 +80,38 @@ UIKIT_EXTERN NSString * adImageName;
#endif #endif
} }
-(void)configAdjust{
NSString *appToken = @"p5sndfu9udq8";
NSString *environment;
#ifdef DEBUG
environment = ADJEnvironmentSandbox;
#else
environment = ADJEnvironmentProduction;
#endif
- (void)prohibitipositionPartowardsiciptowardsionSDK { ADJConfig*adjustConfig = [ADJConfig configWithAppToken:appToken
[ShareSDK registPlatforms:^(SSDKRegister *platformsRegister) { environment:environment];
[platformsRegister setupFacebookWithAppkey:@"1266232494209868" appSecret:@"c9b170b383f8be9cdf118823b8632821" displayName:YMLocalizedString(@"App_Delegate__Third_Config_0")]; #ifdef DEBUG
[platformsRegister setupLineAuthType:SSDKAuthorizeTypeBoth]; [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 setupLineAuthType:SSDKAuthorizeTypeBoth];
// }];
} }
#pragma mark - #pragma mark -
- (void)initEmojiTowardsoloudspeaker { - (void)initEmojiData {
NSArray * dicArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"emoji" ofType:@"plist"]]; NSArray * dicArray = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"emoji" ofType:@"plist"]];
NSDictionary * dic = [dicArray firstObject]; NSDictionary * dic = [dicArray firstObject];
NSArray * emojiArray = dic[@"data"]; NSArray * emojiArray = dic[@"data"];
@@ -68,25 +119,27 @@ UIKIT_EXTERN NSString * adImageName;
for (int i = 0; i < emojiArray.count; i++) { for (int i = 0; i < emojiArray.count; i++) {
NSDictionary * dic = [emojiArray objectAtIndex:i]; NSDictionary * dic = [emojiArray objectAtIndex:i];
UIImage * image = [UIImage imageNamed:dic[@"file"]]; UIImage * image = [UIImage imageNamed:dic[@"file"]];
MHTSpirit * info = [[MHTSpirit alloc] init]; QEmotion * info = [[QEmotion alloc] init];
info.identifier = dic[@"id"]; info.identifier = dic[@"id"];
info.image = image; info.image = image;
info.displayName = dic[@"tag"]; info.displayName = dic[@"tag"];
[array addObject:info]; [array addObject:info];
} }
//
MHTSpiritFacilitater *faceManager = [MHTSpiritFacilitater partowardsiciptowardsiondSenintrtowardsemporalntFacilittowardseer]; QEmotionHelper *faceManager = [QEmotionHelper sharedEmotionHelper];
faceManager.senintratemporalntGarment = array; faceManager.emotionArray = array;
} }
#pragma mark - 广 #pragma mark - 广
/**
- (void)setupLaunchADRegard { 广
*/
- (void)setupLaunchADView {
NSUserDefaults * kUserDefaults = NSUserDefaults.standardUserDefaults; NSUserDefaults * kUserDefaults = NSUserDefaults.standardUserDefaults;
// 广
NSString *filePath = [YUMIAdIndicateTool.partowardsiciptowardsionIndictowardseUtensil acquireAccurtowardseRouteAboutIndictowardseConstitute:[kUserDefaults valueForKey:adImageName]]; NSString *filePath = [XPAdImageTool.shareImageTool getFilePathWithImageName:[kUserDefaults valueForKey:adImageName]];
BOOL isExist = [YUMIAdIndicateTool.partowardsiciptowardsionIndictowardseUtensil isAccurtowardseExistAboutAccurtowardseRoute:filePath]; BOOL isExist = [XPAdImageTool.shareImageTool isFileExistWithFilePath:filePath];
NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults]; NSUserDefaults *userDefault = [NSUserDefaults standardUserDefaults];
if ([userDefault integerForKey:@"adShow"]) { if ([userDefault integerForKey:@"adShow"]) {
@@ -95,20 +148,23 @@ UIKIT_EXTERN NSString * adImageName;
[userDefault setInteger:1 forKey:@"adShow"]; [userDefault setInteger:1 forKey:@"adShow"];
} }
if (isExist) { if (isExist) {//
if ([userDefault integerForKey:@"adShow"] > 4) { if ([userDefault integerForKey:@"adShow"] > 4) {
@kWeakify(self); @kWeakify(self);
NSString *imageName = [kUserDefaults valueForKey:adImageName]; NSString *imageName = [kUserDefaults valueForKey:adImageName];
AdvertiseMatrix *info = [YUMIAdIndicateTool.partowardsiciptowardsionIndictowardseUtensil acquireDirectoryAbstractByvirtueofConcealInMainAbout:imageName]; AdvertiseModel *info = [XPAdImageTool.shareImageTool getAdInfoFromCacheInMainWith:imageName];
YUMIAdvertiseRegard *advertiseView = [[YUMIAdvertiseRegard alloc] initWithFrame:self.window.bounds]; XPAdvertiseView *advertiseView = [[XPAdvertiseView alloc] initWithFrame:self.window.bounds];
advertiseView.filePath = filePath; advertiseView.filePath = filePath;
advertiseView.disappearHandler = ^(BOOL shouldJump) { advertiseView.dismissHandler = ^(BOOL shouldJump) {
@kStrongify(self) @kStrongify(self)
if (!shouldJump || info == nil) { if (!shouldJump || info == nil) {
return; return;
} }
[self performSelectorOnMainThread:@selector(advertiseJumpShankAboutAbstract:) 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]; [advertiseView show];
} }
@@ -116,32 +172,33 @@ UIKIT_EXTERN NSString * adImageName;
} }
- (void)advertiseJumpShankAboutAbstract:(AdvertiseMatrix *)info { /// 广
if (![ClientDisposition partowardsiciptowardsionDisposition].canUnfoild) { - (void)advertiseJumpHandleWithInfo:(AdvertiseModel *)info {
if (![ClientConfig shareConfig].canOpen) {
return; return;
} }
if (UIApplication.sharedApplication.keyWindow != self.window) { if (UIApplication.sharedApplication.keyWindow != self.window) {
//
return; return;
} }
switch (info.type) { switch (info.type) {
case SplashAbstractSkipGenreRoom: { case SplashInfoSkipTypeRoom: {
if (![[YUMIAdIndicateTool partowardsiciptowardsionIndictowardseUtensil] isImSurmount]) { if (![[XPAdImageTool shareImageTool] isImLogin]) {
return; return; //
} }
//
if (info.link.length > 0) { if (info.link.length > 0) {
[YUMIChamberRegardGovernancer unfoildChamber:info.link viewController:[XCCurrentVCStackExecutive shareManager].getCurrentVC]; [XPRoomViewController openRoom:info.link viewController:[XCCurrentVCStackManager shareManager].getCurrentVC];
} }
} }
break; break;
case SplashAbstractSkipGenreWeb: { case SplashInfoSkipTypeWeb: {
// H5
if (info.link.length > 0) { if (info.link.length > 0) {
YUMITissueRegardGovernancer *webView = [[YUMITissueRegardGovernancer alloc]init]; XPWebViewController *webView = [[XPWebViewController alloc]init];
webView.url = info.link; webView.url = info.link;
[[[XCCurrentVCStackExecutive shareManager]universalBreeadcrumbGovernancer] pushViewController:webView animated:YES]; [[[XCCurrentVCStackManager shareManager]currentNavigationController] pushViewController:webView animated:YES];
} }
} }
break; break;

View File

@@ -14,7 +14,7 @@
@property(nonatomic,strong,readonly)NSManagedObjectModel *managedObjectModel; @property(nonatomic,strong,readonly)NSManagedObjectModel *managedObjectModel;
@property(nonatomic,strong,readonly)NSPersistentStoreCoordinator *persistentStoreCoordinator; @property(nonatomic,strong,readonly)NSPersistentStoreCoordinator *persistentStoreCoordinator;
- (void)preserveConessay; - (void)saveContext;
- (NSURL *)aplictowardsionlictowardsionDocumentsDirectoryvisory; - (NSURL *)applicationDocumentsDirectory;
@end @end

View File

@@ -6,11 +6,16 @@
// //
#import "AppDelegate.h" #import "AppDelegate.h"
#import "TabbarRegardGovernancer.h" #import "TabbarViewController.h"
#import "BaseNevigationGovernancer.h" #import "BaseNavigationController.h"
#import "AppDelegate+ThirdConfig.h" #import "AppDelegate+ThirdConfig.h"
#import <NIMSDK/NIMSDK.h> #import <NIMSDK/NIMSDK.h>
#import <UMCommon/UMCommon.h> #import <UMCommon/UMCommon.h>
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <AppTrackingTransparency/AppTrackingTransparency.h>
@import Firebase;
UIKIT_EXTERN NSString * const kOpenRoomNotification;
@interface AppDelegate () @interface AppDelegate ()
@end @end
@@ -18,20 +23,22 @@
@implementation AppDelegate @implementation AppDelegate
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
TabbarRegardGovernancer *vc = [[TabbarRegardGovernancer alloc] init]; TabbarViewController *vc = [[TabbarViewController alloc] init];
BaseNevigationGovernancer *bnc = [[BaseNevigationGovernancer alloc] initWithRootViewController:vc]; BaseNavigationController *bnc = [[BaseNavigationController alloc] initWithRootViewController:vc];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.rootViewController = bnc; self.window.rootViewController = bnc;
[self.window makeKeyAndVisible]; [self.window makeKeyAndVisible];
///广
[self setupLaunchADRegard]; [self setupLaunchADView];
/// sdk
[self initTertiusDisposition]; [self initThirdConfig];
//
if ([[NSUserDefaults standardUserDefaults] objectForKey:@"kYouMinumbernnagna"]) { if ([[NSUserDefaults standardUserDefaults] objectForKey:@"kYouMinumbernnagna"]) {
///
[UMConfigure initWithAppkey:@"6434c6dfd64e686139618269" channel:@"yumi_appstore"]; [UMConfigure initWithAppkey:@"6434c6dfd64e686139618269" channel:@"yumi_appstore"];
} }
[[FBSDKApplicationDelegate sharedInstance] application:application didFinishLaunchingWithOptions:launchOptions];
[FIRApp configure];
return YES; return YES;
} }
@@ -40,24 +47,86 @@
NSInteger count = [NIMSDK sharedSDK].conversationManager.allUnreadCount; NSInteger count = [NIMSDK sharedSDK].conversationManager.allUnreadCount;
[[UIApplication sharedApplication] setApplicationIconBadgeNumber:count]; [[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");
//1app
[ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) {
NSLog(@"app追踪IDFA权限%lu",(unsigned long)status);
}];
}
break;
default:
break;
}
}
});
}
- (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken { - (void)application:(UIApplication *)app didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
// devicetoken
[[NIMSDK sharedSDK] updateApnsToken: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}];
}
return YES;
}
}
return [[FBSDKApplicationDelegate sharedInstance] application:app
openURL:url
sourceApplication:options[UIApplicationOpenURLOptionsSourceApplicationKey]
annotation:options[UIApplicationOpenURLOptionsAnnotationKey]];
}
#pragma mark - Core Data stack #pragma mark - Core Data stack
@synthesize managedObjectContext = _managedObjectContext; @synthesize managedObjectContext = _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel; @synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator; @synthesize persistentStoreCoordinator = _persistentStoreCoordinator;
-(NSURL *)aplictowardsionlictowardsionDocumentsDirectoryvisory{ -(NSURL *)applicationDocumentsDirectory{
return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject]; return [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
} }
- (NSManagedObjectModel *)managedObjectModel { - (NSManagedObjectModel *)managedObjectModel {
// The managed object model for the application. It is a fatal error for the application not to be able to find and load its model.
if (_managedObjectModel != nil) { if (_managedObjectModel != nil) {
return _managedObjectModel; return _managedObjectModel;
} }
@@ -67,26 +136,26 @@
} }
- (NSPersistentStoreCoordinator *)persistentStoreCoordinator { - (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
// The persistent store coordinator for the application. This implementation creates and returns a coordinator, having added the store for the application to it.
if (_persistentStoreCoordinator != nil) { if (_persistentStoreCoordinator != nil) {
return _persistentStoreCoordinator; return _persistentStoreCoordinator;
} }
// Create the coordinator and store
_persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]]; _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSURL *storeURL = [[self aplictowardsionlictowardsionDocumentsDirectoryvisory] URLByAppendingPathComponent:@"_1_______.sqlite"]; NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"_1_______.sqlite"];
NSError *error = nil; NSError *error = nil;
NSString *failureReason = @"There was an error creating or loading the application's saved data."; NSString *failureReason = @"There was an error creating or loading the application's saved data.";
if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) { if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:nil error:&error]) {
// Report any error we got.
NSMutableDictionary *dict = [NSMutableDictionary dictionary]; NSMutableDictionary *dict = [NSMutableDictionary dictionary];
dict[NSLocalizedDescriptionKey] = @"Failed to initialize the application's saved data"; dict[NSLocalizedDescriptionKey] = @"Failed to initialize the application's saved data";
dict[NSLocalizedFailureReasonErrorKey] = failureReason; dict[NSLocalizedFailureReasonErrorKey] = failureReason;
dict[NSUnderlyingErrorKey] = error; dict[NSUnderlyingErrorKey] = error;
error = [NSError errorWithDomain:@"YOUR_ERROR_DOMAIN" code:9999 userInfo:dict]; error = [NSError errorWithDomain:@"YOUR_ERROR_DOMAIN" code:9999 userInfo:dict];
// Replace this with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]); NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort(); abort();
} }
@@ -96,7 +165,7 @@
- (NSManagedObjectContext *)managedObjectContext { - (NSManagedObjectContext *)managedObjectContext {
// Returns the managed object context for the application (which is already bound to the persistent store coordinator for the application.)
if (_managedObjectContext != nil) { if (_managedObjectContext != nil) {
return _managedObjectContext; return _managedObjectContext;
} }
@@ -112,13 +181,13 @@
#pragma mark - Core Data Saving support #pragma mark - Core Data Saving support
- (void)preserveConessay { - (void)saveContext {
NSManagedObjectContext *managedObjectContext = self.managedObjectContext; NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) { if (managedObjectContext != nil) {
NSError *error = nil; NSError *error = nil;
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) { if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]); NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort(); abort();
} }

View File

@@ -1,7 +0,0 @@
{"colors": [{"idiom": "universal"}], "info": {"author": "xcode", "version": 1}}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 150 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

View File

@@ -1,7 +1,14 @@
{"images": [{"filename": "1024.png", "idiom": "universal", "platform": "ios", "size": "1024x1024"}], "info": {"author": "xcode", "version": 1}} {
"images" : [
{
"filename" : "10241024.png",
"idiom" : "universal",
"platform" : "ios",
"size" : "1024x1024"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -1,7 +1,6 @@
{"info": {"author": "xcode", "version": 1}} {
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -1,7 +1,6 @@
{"info": {"author": "xcode", "version": 1}} {
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_agree@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_agree@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 410 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 656 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_apple@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_apple@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1004 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_area_arrow@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_area_arrow@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 175 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 206 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_arrow@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_arrow@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 172 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_auth_bubble@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_auth_bubble@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

View File

@@ -0,0 +1,21 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_bind_phone_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_bind_phone_success@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_bind_phone_success@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 916 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "login_button@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "login_button@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.2 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"idiom" : "universal",
"filename" : "login_button_sel@2x.png",
"scale" : "2x"
},
{
"idiom" : "universal",
"filename" : "login_button_sel@3x.png",
"scale" : "3x"
}
],
"info" : {
"version" : 1,
"author" : "xcode"
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 7.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 12 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 26 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "ChinaMobile_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "ChinaMobile_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_choose_phone_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_choose_phone_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_choose_pwd_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_choose_pwd_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "ctmobile_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "ctmobile_icon@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 29 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 55 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_disagree@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_disagree@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 461 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_facebook@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_facebook@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_forget_password_hidden@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_forget_password_hidden@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 730 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_forget_password_show@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_forget_password_show@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 607 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_full_female@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_full_female@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 599 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 922 B

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 6.1 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_full_info_refresh@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_full_info_refresh@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 816 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 KiB

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 636 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.5 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_gmail@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_gmail@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.5 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_line@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_line@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_next@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_next@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.0 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_next_disable@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_next_disable@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.3 KiB

View 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
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 690 B

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_phone_pwd_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_phone_pwd_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 32 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 77 KiB

View File

@@ -0,0 +1,22 @@
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "login_phone_type@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "login_phone_type@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 KiB

Some files were not shown because too many files have changed in this diff Show More