AppDelegate.m
5 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
/**
* Copyright (c) 2015-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*/
#import "AppDelegate.h"
#import "xn_base_Client_AF.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
#import <RCTSplashScreen/RCTSplashScreen.h>
#import "IQKeyboardManager.h"
#import <UMCommon/UMCommon.h> // 公共组件是所有友盟产品的基础组件,必选
#import <UMAnalytics/MobClick.h>
//#import <PgySDK/PgyManager.h>
//#import <PgyUpdate/PgyUpdateManager.h>
@implementation AppDelegate
#pragma mark 创建单例
/**
* @author zsq
*
* @brief 创建单例
*
* @return self
*/
+ (instancetype)sharedInstance {
static id sharedInstance = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
sharedInstance = [[self alloc] init];
});
return sharedInstance;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// NSURL *jsCodeLocation;
//
// jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
if(!launchOptions)
{
[AppDelegate sharedInstance].isJump = NO;
NSLog(@"用户点击app启动");
}else{
[AppDelegate sharedInstance].isJump = YES;
}
NSURL *jsCodeLocation;
jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
#ifdef DEBUG
jsCodeLocation = [NSURL URLWithString:@"http://192.168.80.72:8081/index.ios.bundle?platform=ios&dev=true"];
// jsCodeLocation = [NSURL URLWithString:@"http://192.168.1.149:8081/index.ios.bundle?platform=ios&dev=true"];
#else
//release 模式
jsCodeLocation = [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
[UMConfigure initWithAppkey:@"5af105bfb27b0a5c8a00019e" channel:@"App Store"];
[MobClick setScenarioType:E_UM_NORMAL];
#endif
//启动基本SDK
// [[PgyManager sharedPgyManager] startManagerWithAppId:@"a8071f84ef516389d414860d8a62c387"];
// //启动更新检查SDK
// [[PgyUpdateManager sharedPgyManager] startManagerWithAppId:@"a8071f84ef516389d414860d8a62c387"];
// [[PgyUpdateManager sharedPgyManager] checkUpdate];
[[xn_base_Client_AF sharedInstance] f_configByUrl:@"https://railway-dt.shmetro.com/router" appKey:@"0617CA8376F9901F28FF46B69BF9CF44" appSecret:@"28570C9D069ED51226DD9F028BD5E6DD" maxTask:15];
//设置全局的键盘处理,不显示工具条
[[IQKeyboardManager sharedManager] setEnable:YES];
[[IQKeyboardManager sharedManager] setEnableAutoToolbar: NO];
[IQKeyboardManager sharedManager].shouldResignOnTouchOutside = YES;
[IQKeyboardManager sharedManager].shouldToolbarUsesTextFieldTintColor = YES;
RCTRootView *rootView = [[RCTRootView alloc] initWithBundleURL:jsCodeLocation
moduleName:@"metroApp"
initialProperties:nil
launchOptions:launchOptions];
rootView.backgroundColor = [[UIColor alloc] initWithRed:1.0f green:1.0f blue:1.0f alpha:1];
self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
UIViewController *rootViewController = [UIViewController new];
rootViewController.view = rootView;
self.window.rootViewController = rootViewController;
[self.window makeKeyAndVisible];
[RCTSplashScreen show:rootView];
return YES;
}
#pragma mark - app之间通讯的唤起操作
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(nullable NSString *)sourceApplication annotation:(id)annotation
{
if ([[NSString stringWithFormat:@"%@",url] containsString:@"shpadtcomcn"]) {
NSString *str = [[NSString stringWithFormat:@"%@",url] substringFromIndex:[[NSString stringWithFormat:@"%@",url] rangeOfString:@"mobilePhone="].location+12];
NSString *strend = [str substringToIndex:[str rangeOfString:@"from="].location];
[AppDelegate sharedInstance].str_phone = strend;
}
NSLog(@"URL scheme:%@", [url scheme]);
NSLog(@"URL query: %@11111111111111111111111111", [url query]);
return YES;
}
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options
{
if ([[NSString stringWithFormat:@"%@",url] containsString:@"shpadtcomcn"]) {
NSString *str = [[NSString stringWithFormat:@"%@",url] substringFromIndex:[[NSString stringWithFormat:@"%@",url] rangeOfString:@"mobilePhone="].location+12];
NSString *strend = [str substringToIndex:[str rangeOfString:@"from="].location];
[AppDelegate sharedInstance].str_phone = strend;
}
NSLog(@"Calling Application Bundle ID: %@", options);
NSLog(@"URL scheme:%@", [url scheme]);
NSLog(@"URL query: %@11111111111111111111111111", [url query]);
return YES;
}
@end