AppDelegate.m 5.85 KB
Newer Older
曹云霄's avatar
曹云霄 committed
1 2 3 4 5 6 7 8 9 10
//
//  AppDelegate.m
//  Lighting
//
//  Created by 曹云霄 on 16/4/27.
//  Copyright © 2016年 上海勾芒科技有限公司. All rights reserved.
//

#import "AppDelegate.h"
#import "LoginViewController.h"
11
#import "DeviceDirectionManager.h"
12
#import <Bugly/Bugly.h>
13
#import "UMMobClick/MobClick.h"
14

曹云霄's avatar
曹云霄 committed
15 16 17 18 19 20 21 22 23
@interface AppDelegate ()

@end

@implementation AppDelegate


- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    // Override point for customization after application launch.
24 25

    [self setUpBuglyAndPgy];
26
    [self detectionNetwork];
曹云霄's avatar
曹云霄 committed
27 28
    [self SetIQKeyboardManager];
    [self RootViewcontroller];
29
    [self setUMShare];
曹云霄's avatar
曹云霄 committed
30 31
    return YES;
}
32

33 34 35 36 37 38
#pragma mark - 设置bugly和pgy
- (void)setUpBuglyAndPgy
{
    [Bugly startWithAppId:@"900033734"];
}

曹云霄's avatar
曹云霄 committed
39
- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window
40 41 42 43
{
    //判断是否是横屏
    if ( [[DeviceDirectionManager instance] isHorizontal]) {
        return UIInterfaceOrientationMaskAll ;
曹云霄's avatar
曹云霄 committed
44
    } else{
45 46 47
       return UIInterfaceOrientationMaskLandscape;
    }
}
48

49 50 51 52 53 54 55 56 57
//分享回调
- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation
{
    BOOL result = [UMSocialSnsService handleOpenURL:url];
    if (result == FALSE) {
        //调用其他SDK,例如支付宝SDK等
    }
    return result;
}
曹云霄's avatar
曹云霄 committed
58 59 60
#pragma mark -设置根视图
- (void)RootViewcontroller
{
曹云霄's avatar
曹云霄 committed
61
    UIStoryboard *story = [UIStoryboard storyboardWithName:@"StoryboardwithCYX" bundle:nil];
曹云霄's avatar
曹云霄 committed
62 63 64 65
    LoginViewController *login = [story instantiateViewControllerWithIdentifier:@"Login"];
    self.window.rootViewController = login;
}

66

67 68 69 70
#pragma mark -接收到内存警告
- (void)applicationDidReceiveMemoryWarning:(UIApplication *)application
{
    [[SDImageCache sharedImageCache] clearDisk];
71
    [[SDImageCache sharedImageCache] setValue:nil forKey:@"memCache"];
72 73
}

曹云霄's avatar
曹云霄 committed
74 75 76 77 78

#pragma mark - 键盘
- (void)SetIQKeyboardManager
{
    IQKeyboardManager *manager = [IQKeyboardManager sharedManager];
79
    [[IQKeyboardManager sharedManager]setKeyboardDistanceFromTextField:0];
曹云霄's avatar
曹云霄 committed
80 81
    manager.enable = YES;
    manager.shouldResignOnTouchOutside = YES;
勾芒's avatar
勾芒 committed
82
    manager.enableAutoToolbar = NO;
曹云霄's avatar
曹云霄 committed
83 84
}

曹云霄's avatar
曹云霄 committed
85 86 87 88

#pragma mark -检测网络的可连接性
- (void)detectionNetwork
{
89
    self.Networkstatus = true;
曹云霄's avatar
曹云霄 committed
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
    [[AFNetworkReachabilityManager sharedManager] startMonitoring];
    [[AFNetworkReachabilityManager sharedManager] setReachabilityStatusChangeBlock:^(AFNetworkReachabilityStatus status) {
        
        switch (status) {
                
            case AFNetworkReachabilityStatusUnknown:
            case AFNetworkReachabilityStatusNotReachable:{
                
                NSLog(@"无网络");
                self.Networkstatus = false;
                break;
            }
            case AFNetworkReachabilityStatusReachableViaWiFi:{
                
                NSLog(@"WiFi网络");
                self.Networkstatus = true;
                break;
                
            }
            case AFNetworkReachabilityStatusReachableViaWWAN:{
                
                NSLog(@"流量网络");
                self.Networkstatus = true;
                break;
            }
            default:
                break;
        }
    }];
}

121
#pragma mark - 友盟
122 123 124 125 126 127 128
-(void)setUMShare
{
    // 友盟分享初始化
    [UMSocialData setAppKey:@"57425f2467e58e645f00210a"];
    // 设置微信AppId、appSecret,分享url
    [UMSocialWechatHandler setWXAppId:@"wxab385878d9441f23" appSecret:@"58b85af13973bdf597fa807208ac0dff " url:@"http://www.umeng.com/social"];
    // 设置微博的AppKey、appSecret,分享url
129
    [UMSocialSinaSSOHandler openNewSinaSSOWithAppKey:@"1111393286" secret:@"5d011c05122b5539ec9592372f944d3c" RedirectURL:@"http://sns.whalecloud.com/sina2/callback"];
130 131 132 133 134
    
    
    UMConfigInstance.appKey = @"57425f2467e58e645f00210a";
    UMConfigInstance.channelId = @"蒲公英";
    [MobClick startWithConfigure:UMConfigInstance];
135
}
136 137 138 139 140 141 142 143 144


#pragma mark -更新通知
- (void)updateVersion
{
    [[NSNotificationCenter defaultCenter] postNotificationName:UPLOADVERSION object:nil];
}


曹云霄's avatar
曹云霄 committed
145 146 147 148 149 150 151 152 153 154 155 156
- (void)applicationWillResignActive:(UIApplication *)application {
    // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
    // Use this method to pause ongoing tasks, disable timers, and throttle down OpenGL ES frame rates. Games should use this method to pause the game.
}

- (void)applicationDidEnterBackground:(UIApplication *)application {
    // Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later.
    // If your application supports background execution, this method is called instead of applicationWillTerminate: when the user quits.
}

- (void)applicationWillEnterForeground:(UIApplication *)application {
    // Called as part of the transition from the background to the inactive state; here you can undo many of the changes made on entering the background.
曹云霄's avatar
曹云霄 committed
157
    [self updateVersion];
曹云霄's avatar
曹云霄 committed
158 159 160 161 162 163 164 165 166 167 168 169 170 171
}

- (void)applicationDidBecomeActive:(UIApplication *)application {
    // Restart any tasks that were paused (or not yet started) while the application was inactive. If the application was previously in the background, optionally refresh the user interface.
}

- (void)applicationWillTerminate:(UIApplication *)application {
    // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
    // Saves changes in the application's managed object context before the application terminates.
}



@end