AppDelegate.m 5.6 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

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

@end

@implementation AppDelegate


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

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

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

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

48 49 50 51 52 53 54 55 56
//分享回调
- (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
57 58 59
#pragma mark -设置根视图
- (void)RootViewcontroller
{
曹云霄's avatar
曹云霄 committed
60
    LoginViewController *login = [[BaseViewController getMainStoryboardClass] instantiateViewControllerWithIdentifier:@"Login"];
曹云霄's avatar
曹云霄 committed
61 62 63
    self.window.rootViewController = login;
}

64

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

曹云霄's avatar
曹云霄 committed
72 73 74 75 76

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

曹云霄's avatar
曹云霄 committed
83 84 85 86

#pragma mark -检测网络的可连接性
- (void)detectionNetwork
{
87
    self.Networkstatus = true;
曹云霄's avatar
曹云霄 committed
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
    [[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;
        }
    }];
}

119
#pragma mark - 友盟
120 121 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 135 136 137 138 139


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


曹云霄's avatar
曹云霄 committed
140 141 142 143 144 145 146 147 148 149 150 151
- (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
152
    [self updateVersion];
曹云霄's avatar
曹云霄 committed
153 154 155 156 157 158 159 160 161 162 163 164 165 166
}

- (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