AppDelegate.m 5 KB
/**
 * Copyright (c) 2015-present, Facebook, Inc.
 *
 * This source code is licensed under the MIT license found in the
 * LICENSE file in the root directory of this source tree.
 */

#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>
#import <AMapFoundationKit/AMapFoundationKit.h>
#import <AMapLocationKit/AMapLocationKit.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;

  }else{
    [AppDelegate sharedInstance].isJump = YES;
  }

  NSURL *jsCodeLocation;

  jsCodeLocation = [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index.ios" fallbackResource:nil];
#ifdef DEBUG

  jsCodeLocation =  [NSURL URLWithString:@"http://192.168.81.6:8081/index.ios.bundle?platform=ios&dev=true"];
  // 钱鋆
    jsCodeLocation =  [NSURL URLWithString:@"http://192.168.80.113:8081/index.ios.bundle?platform=ios&dev=true"];
//    jsCodeLocation =  [NSURL URLWithString:@"http://192.168.1.105: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;

  [[AMapServices sharedServices] setEnableHTTPS:YES];
#ifdef test
  [AMapServices sharedServices].apiKey =@"280cb15fd7417ef11542a0ea0e7e3395";
#else
  [AMapServices sharedServices].apiKey =@"326a03ead349468ccbe3f4710864fd02";
#endif

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

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

  return YES;
}



@end